name: Docusaurus add version on: release: types: [published] jobs: gen-docs-version: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Cache node_modules uses: actions/cache@v4 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: Skip beta versions continue-on-error: false run: | VERSION=${{ github.ref_name }} if [[ $VERSION == *beta* ]]; then echo "Skipping beta version" exit 1 fi - 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@v7 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/