name: documentation on: pull_request: branches: [master] paths: ['docs/**'] push: branches: [master] paths: ['docs/**'] workflow_dispatch: jobs: pull-request-check: if: github.event_name == 'pull_request' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Pages id: pages uses: actions/configure-pages@v5 - uses: actions/setup-node@v4 with: # renovate: datasource=node-version depName=node node-version: 22 - name: Test Build working-directory: ./docs run: | npm install npm run build build-docs: if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: # renovate: datasource=node-version depName=node node-version: 22 - name: Build docusaurus working-directory: ./docs run: | npm install npm run build - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: ./docs/build deploy-docs: needs: build-docs runs-on: ubuntu-latest permissions: pages: write # to deploy to Pages id-token: write # to verify the deployment originates from an appropriate source environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4