name: Documentation on: push: branches: - main pull_request: branches: - main workflow_dispatch: concurrency: group: 'pages' cancel-in-progress: false jobs: build: permissions: contents: read runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - name: Install Node.js uses: actions/setup-node@v6 with: node-version: latest cache: 'npm' - name: Install dependencies run: npm ci --verbose - name: Setup Pages id: pages uses: actions/configure-pages@v5 - name: Build documentation run: npm run docs - name: Upload artifact uses: actions/upload-pages-artifact@v4 with: path: ./dist/typedoc deploy: permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest needs: build if: github.event_name != 'pull_request' steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4