-
Notifications
You must be signed in to change notification settings - Fork 552
58 lines (51 loc) · 1.8 KB
/
gen-docs-version.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
name: Docusaurus add version
on:
release:
types: [published]
jobs:
gen-docs-version:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Cache node_modules
uses: actions/cache@v3
with:
path: docs/node_modules
key: node_modules-${{ hashFiles('**/yarn.lock') }}
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
cache: yarn
cache-dependency-path: docs/yarn.lock
- name: Install Dependencies
run: yarn install
working-directory: ./docs
- name: Generate docusaurus docs for major version
run: |
VERSION=${{ github.ref_name }}
if [[ $VERSION == v0* ]]; then
# If version starts with v0, use the patch version
DOCUSAURUS_VERSION=${VERSION:1}
else
# Otherwise, use the major version
MAJOR_VERSION=${VERSION%%.*}
DOCUSAURUS_VERSION=${MAJOR_VERSION:1}
fi
jq --arg version "v$DOCUSAURUS_VERSION" 'del(.[] | select(. == $version))' versions.json > versions.json.tmp
mv versions.json.tmp versions.json
rm -rf versioned_docs/version-v$DOCUSAURUS_VERSION
rm -rf versioned_sidebars/version-v$DOCUSAURUS_VERSION-sidebars.json
yarn run docusaurus docs:version v$DOCUSAURUS_VERSION
working-directory: ./docs
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
with:
title: "chore: docusaurus deploy version ${{ github.ref_name }}"
commit-message: "chore(docs): deploy version ${{ github.ref_name }}"
body: ""
base: main
branch: chore/docs/new-version
add-paths: |
docs/