name: Build and publish API docs on: push: branches: [main, develop, v2_develop] permissions: id-token: write pages: write jobs: deploy: name: Build and Deploy API docs to github-pages environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: windows-latest steps: - name: Checkout if: github.ref_name == 'main' || github.ref_name == 'develop' uses: actions/checkout@v4 - name: DocFX Build if: github.ref_name == 'main' || github.ref_name == 'develop' working-directory: docfx run: | dotnet tool install -g docfx $env:DOCFX_SOURCE_BRANCH_NAME="${{ github.ref_name }}" docfx metadata docfx build continue-on-error: false - name: Setup Pages if: github.ref_name == 'main' || github.ref_name == 'develop' uses: actions/configure-pages@v3 - name: Upload artifact if: github.ref_name == 'main' || github.ref_name == 'develop' uses: actions/upload-pages-artifact@v2 with: path: docfx/_site - name: Deploy to GitHub Pages if: github.ref_name == 'main' || github.ref_name == 'develop' id: deployment uses: actions/deploy-pages@v2 with: token: ${{ secrets.GITHUB_TOKEN }} - name: v2_develop Repository Dispatch ${{ github.branch }} if: github.ref_name == 'v2_develop' uses: peter-evans/repository-dispatch@v2 with: token: ${{ secrets.PAT }} repository: gui-cs/Terminal.GuiV2Docs event-type: v2_develop_push client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'