Skip to content

Commit

Permalink
Include build into publish GH pages workflow (eclipse-theia#13822)
Browse files Browse the repository at this point in the history
* Fix build and enable provenance
* update typedoc and typedoc plugins
* fix error in typedocs
* increase memory

Signed-off-by: Jonas Helming <[email protected]>
Co-authored-by: Johannes Faltermeier <[email protected]>
  • Loading branch information
JonasHelming and jfaltermeier authored Dec 16, 2024
1 parent a937308 commit 4e3b183
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 43 deletions.
18 changes: 11 additions & 7 deletions .github/workflows/publish-gh-pages.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
name: Publish GitHub Pages

permissions:
id-token: write
contents: write

on:
workflow_dispatch:

jobs:
publish:
name: Publish to NPM and GitHub pages
needs: build
runs-on: ubuntu-22.04

# The current approach is silly. We should be smarter and use `actions/upload-artifact` and `actions/download-artifact` instead of rebuilding
Expand All @@ -22,13 +25,13 @@ jobs:
- name: Use Node.js 20.x
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
node-version: "20.x"
registry-url: "https://registry.npmjs.org"

- name: Use Python 3.x
- name: Use Python 3.11
uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v4.8.0
with:
python-version: '3.x'
python-version: "3.11"

- name: Pre-npm-Publish
run: |
Expand All @@ -42,14 +45,14 @@ jobs:
run: |
yarn docs
env:
NODE_OPTIONS: --max_old_space_size=9216
NODE_OPTIONS: --max_old_space_size=14336

- name: Publish GH Pages
uses: peaceiris/actions-gh-pages@373f7f263a76c20808c831209c920827a82a2847 # v3.9.3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./gh-pages
force_orphan: true # will only keep latest commit on branch gh-pages
force_orphan: true # will only keep latest commit on branch gh-pages

- name: Publish NPM
uses: nick-fields/retry@14672906e672a08bd6eeb15720e9ed3ce869cdd4 # v2.9.0
Expand All @@ -61,4 +64,5 @@ jobs:
command: yarn publish:next
on_retry_command: git reset --hard
env:
NPM_CONFIG_PROVENANCE: "true"
NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} # The variable name comes from here: https://github.com/actions/setup-node/blob/70b9252472eee7495c93bb1588261539c3c2b98d/src/authutil.ts#L48
3 changes: 1 addition & 2 deletions configs/typedoc.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{
"emit": false,
"exclude": [
"../+(dev-packages|examples|typings|scripts)/**",
"../packages/*/lib/**",
Expand All @@ -14,4 +13,4 @@
"out": "../gh-pages/docs/next",
"readme": "../README.md",
"entryPointStrategy": "expand"
}
}
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@
"sinon": "^12.0.0",
"temp": "^0.9.1",
"tslint": "^5.12.0",
"typedoc": "^0.22.11",
"typedoc-plugin-external-module-map": "1.3.2",
"typedoc": "0.25.13",
"typedoc-plugin-external-module-map": "2.0.1",
"typescript": "~5.4.5",
"yargs": "^15.3.1"
},
Expand All @@ -69,7 +69,7 @@
"compile:clean": "ts-clean dev-packages/* packages/*",
"compile:references": "node scripts/compile-references.js",
"compile:tsc": "tsc -b",
"docs": "rimraf gh-pages/docs/next && typedoc --tsconfig tsconfig.json --options configs/typedoc.json .",
"docs": "rimraf gh-pages/docs/next && typedoc --tsconfig tsconfig.json --plugin typedoc-plugin-external-module-map --options configs/typedoc.json .",
"download:plugins": "theia download:plugins",
"electron": "yarn -s --cwd examples/electron",
"license:check": "node scripts/check_3pp_licenses.js",
Expand Down
4 changes: 2 additions & 2 deletions packages/plugin-ext/src/common/plugin-identifiers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ export namespace PluginIdentifiers {
return id.slice(0, endOfId) as UnversionedId;
}
/**
* @returns `undefined` if it looks like the string passed in does not have the format returned by {@link PluginIdentifiers.toVersionedId}.
* @returns `undefined` if it looks like the string passed in does not have the format of {@link PluginIdentifiers.VersionedId}.
*/
export function identifiersFromVersionedId(probablyId: string): Components | undefined {
const endOfPublisher = probablyId.indexOf('.');
Expand All @@ -71,7 +71,7 @@ export namespace PluginIdentifiers {
return { publisher: probablyId.slice(0, endOfPublisher), name: probablyId.slice(endOfPublisher + 1, endOfName), version: probablyId.slice(endOfName + 1) };
}
/**
* @returns `undefined` if it looks like the string passed in does not have the format returned by {@link PluginIdentifiers.toVersionedId}.
* @returns `undefined` if it looks like the string passed in does not have the format of {@link PluginIdentifiers.VersionedId}.
*/
export function idAndVersionFromVersionedId(probablyId: string): IdAndVersion | undefined {
const endOfPublisher = probablyId.indexOf('.');
Expand Down
63 changes: 34 additions & 29 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3336,6 +3336,11 @@ ansi-regex@^6.0.1:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a"
integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==

ansi-sequence-parser@^1.1.0:
version "1.1.1"
resolved "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz#e0aa1cdcbc8f8bb0b5bca625aac41f5f056973cf"
integrity sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==

ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
Expand Down Expand Up @@ -8075,7 +8080,7 @@ jsonc-parser@^2.2.0:
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-2.3.1.tgz#59549150b133f2efacca48fe9ce1ec0659af2342"
integrity sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==

jsonc-parser@^3.0.0, jsonc-parser@^3.2.0:
jsonc-parser@^3.2.0:
version "3.3.1"
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.3.1.tgz#f2a524b4f7fd11e3d791e559977ad60b98b798b4"
integrity sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==
Expand Down Expand Up @@ -8777,9 +8782,9 @@ markdown-it@^12.3.2:
mdurl "^1.0.1"
uc.micro "^1.0.5"

marked@^4.0.16:
marked@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3"
resolved "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3"
integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==

matcher@^3.0.0:
Expand Down Expand Up @@ -8955,7 +8960,7 @@ minimatch@^8.0.2:
dependencies:
brace-expansion "^2.0.1"

minimatch@^9.0.0, minimatch@^9.0.4:
minimatch@^9.0.0, minimatch@^9.0.3, minimatch@^9.0.4:
version "9.0.5"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5"
integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
Expand Down Expand Up @@ -11620,14 +11625,15 @@ shell-quote@^1.4.3:
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680"
integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==

shiki@^0.10.1:
version "0.10.1"
resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.10.1.tgz#6f9a16205a823b56c072d0f1a0bcd0f2646bef14"
integrity sha512-VsY7QJVzU51j5o1+DguUd+6vmCmZ5v/6gYu4vyYAhzjuNQU6P/vmSy4uQaOhvje031qQMiW0d2BwgMH52vqMng==
shiki@^0.14.7:
version "0.14.7"
resolved "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz#c3c9e1853e9737845f1d2ef81b31bcfb07056d4e"
integrity sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==
dependencies:
jsonc-parser "^3.0.0"
vscode-oniguruma "^1.6.1"
vscode-textmate "5.2.0"
ansi-sequence-parser "^1.1.0"
jsonc-parser "^3.2.0"
vscode-oniguruma "^1.7.0"
vscode-textmate "^8.0.0"

side-channel@^1.0.4, side-channel@^1.0.6:
version "1.0.6"
Expand Down Expand Up @@ -12808,21 +12814,20 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==

typedoc-plugin-external-module-map@1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/typedoc-plugin-external-module-map/-/typedoc-plugin-external-module-map-1.3.2.tgz#5793046d0428898a441b5d811396361eadec80e4"
integrity sha512-xs+vQ7XeVOvXlomdAw3xpwm8W59pPQPmfHTl5WvH2OkPFEO7EhABikLlTzLRYCOCEdkRg4LcnCblKmARN0wCIA==
typedoc-plugin-external-module-map@2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/typedoc-plugin-external-module-map/-/typedoc-plugin-external-module-map-2.0.1.tgz#0576d5a9ad14bc9a6c57e934f1223949f7c26bb8"
integrity sha512-B8GC2SxQdTc7PR7etJ7Ahwv7OJNSB3/S8sfQ46nN8fOgcWw9CqTyl/542ZPemxO2UNRwKgV2vdxttbXV82NIpA==

typedoc@^0.22.11:
version "0.22.18"
resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.22.18.tgz#1d000c33b66b88fd8cdfea14a26113a83b7e6591"
integrity sha512-NK9RlLhRUGMvc6Rw5USEYgT4DVAUFk7IF7Q6MYfpJ88KnTZP7EneEa4RcP+tX1auAcz7QT1Iy0bUSZBYYHdoyA==
typedoc@0.25.13:
version "0.25.13"
resolved "https://registry.npmjs.org/typedoc/-/typedoc-0.25.13.tgz#9a98819e3b2d155a6d78589b46fa4c03768f0922"
integrity sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==
dependencies:
glob "^8.0.3"
lunr "^2.3.9"
marked "^4.0.16"
minimatch "^5.1.0"
shiki "^0.10.1"
marked "^4.3.0"
minimatch "^9.0.3"
shiki "^0.14.7"

"typescript@>=3 < 6":
version "5.5.4"
Expand Down Expand Up @@ -13151,15 +13156,15 @@ [email protected]:
resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.6.1.tgz#2bf4dfcfe3dd2e56eb549a3068c8ee39e6c30ce5"
integrity sha512-vc4WhSIaVpgJ0jJIejjYxPvURJavX6QG41vu0mGhqywMkQqulezEqEQ3cO3gc8GvcOpX6ycmKGqRoROEMBNXTQ==

vscode-oniguruma@^1.6.1:
vscode-oniguruma@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b"
resolved "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b"
integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==

vscode-textmate@5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.2.0.tgz#01f01760a391e8222fe4f33fbccbd1ad71aed74e"
integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==
vscode-textmate@^8.0.0:
version "8.0.0"
resolved "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d"
integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==

vscode-textmate@^9.0.0:
version "9.1.0"
Expand Down

0 comments on commit 4e3b183

Please sign in to comment.