Skip to content

Commit cc946f7

Browse files
authored
Update docs release strategy (#1118)
1 parent 96c117e commit cc946f7

8 files changed

Lines changed: 503 additions & 865 deletions

File tree

.github/workflows/docsite.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Update documentation site
2+
3+
on:
4+
push:
5+
branches: [main]
6+
paths:
7+
- 'docs/**'
8+
- .github/workflows/docsite.yml
9+
workflow_dispatch:
10+
11+
concurrency:
12+
group: ${{ github.workflow }}-${{ github.ref }}
13+
14+
permissions: {}
15+
16+
jobs:
17+
docs:
18+
name: Update docs
19+
20+
runs-on: ubuntu-latest
21+
22+
steps:
23+
- name: Check out code
24+
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
25+
26+
# The docs have a separate installation using Node 22 due to needing newer dependencies
27+
- name: Install Node.js
28+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
29+
with:
30+
node-version-file: docs/.nvmrc
31+
32+
- run: yarn --immutable
33+
working-directory: ./docs
34+
35+
- run: yarn docs:build
36+
working-directory: ./docs
37+
38+
- name: Upload site as artifact
39+
id: deployment
40+
uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4
41+
with:
42+
path: docs/.vuepress/dist
43+
44+
deploy:
45+
environment:
46+
name: github-pages
47+
url: ${{ steps.deployment.outputs.page_url }}
48+
runs-on: ubuntu-latest
49+
needs: docs
50+
permissions:
51+
# to deploy to Pages
52+
pages: write
53+
# to verify the deployment originates from an appropriate source
54+
id-token: write
55+
steps:
56+
- name: Deploy to GitHub Pages
57+
id: deployment
58+
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4

.github/workflows/release.yml

Lines changed: 3 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ on:
77
env:
88
npmVersion: 8
99

10+
concurrency:
11+
group: ${{ github.workflow }}-${{ github.ref }}
12+
1013
permissions: {}
1114

1215
jobs:
@@ -59,48 +62,3 @@ jobs:
5962
env:
6063
NPM_AUTHTOKEN: ${{ secrets.NPM_AUTHTOKEN }}
6164
REPO_PAT: ${{ secrets.REPO_PAT }}
62-
63-
# The docs have a separate installation using Node 20 due to needing newer dependencies
64-
docs:
65-
name: Update docs
66-
67-
needs: build
68-
69-
runs-on: ubuntu-latest
70-
71-
permissions:
72-
# Needed by gh-pages publish
73-
contents: write
74-
75-
steps:
76-
- name: Check out code
77-
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
78-
with:
79-
# Don't save creds in the git config (so it's easier to override later)
80-
persist-credentials: false
81-
82-
- name: Install Node.js 20
83-
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
84-
with:
85-
cache: yarn
86-
node-version: 20
87-
88-
- run: yarn --immutable
89-
working-directory: ./docs
90-
91-
- run: yarn docs:build
92-
working-directory: ./docs
93-
94-
- name: Update docs
95-
run: |
96-
git config user.email "kchau@microsoft.com"
97-
git config user.name "Ken Chau"
98-
99-
# See previous step for explanation
100-
trap "git remote set-url origin '$(git remote get-url origin)'" EXIT
101-
git remote set-url origin "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$GITHUB_REPOSITORY.git"
102-
103-
yarn release:docs
104-
env:
105-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
106-
working-directory: ./docs

docs/package.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,21 @@
66
"type": "module",
77
"scripts": {
88
"docs": "vuepress dev --host localhost",
9-
"docs:build": "vuepress build",
10-
"release:docs": "yarn docs:build && yarn gh-pages -d .vuepress/dist --dotfiles"
9+
"docs:build": "vuepress build"
1110
},
1211
"devDependencies": {
12+
"@types/node": "^22.0.0",
1313
"@vuepress/bundler-vite": "^2.0.0-rc.18",
1414
"@vuepress/plugin-markdown-chart": "^2.0.0-rc.109",
1515
"@vuepress/plugin-search": "^2.0.0-rc.61",
1616
"@vuepress/theme-default": "^2.0.0-rc",
17-
"gh-pages": "^6.0.0",
1817
"mermaid": "^11.4.0",
1918
"sass-embedded": "^1.81.0",
2019
"vuepress": "^2.0.0-rc"
2120
},
21+
"resolutions": {
22+
"@types/node@npm:*": "^22.0.0"
23+
},
2224
"engines": {
2325
"node": ">=22",
2426
"yarn": "^4"

docs/tsconfig.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
{
22
"compilerOptions": {
33
"noEmit": true,
4-
"allowJs": true,
5-
"checkJs": true,
64
"strict": true,
75
"lib": ["es2022", "dom"],
86
"module": "es2022",
97
"moduleResolution": "bundler",
10-
"types": []
8+
"types": ["node"]
119
},
12-
"include": ["./.vuepress/*.js"]
10+
"include": ["./.vuepress/*"]
1311
}

0 commit comments

Comments
 (0)