name: Build and publish API docs on: push: branches: [v1_release, v2_develop] permissions: id-token: write pages: write jobs: deploy: name: Build and Deploy API docs to github-pages ${{ github.ref_name }} environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: windows-latest steps: - name: Checkout if: github.ref_name == 'v1_release' || github.ref_name == 'v1_develop' uses: actions/checkout@v4 - name: DocFX Build if: github.ref_name == 'v1_release' || github.ref_name == 'v1_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 == 'v1_release' || github.ref_name == 'v1_develop' uses: actions/configure-pages@v5 - name: Upload artifact if: github.ref_name == 'v1_release' || github.ref_name == 'v1_develop' uses: actions/upload-pages-artifact@v3 with: path: docfx/_site - name: Deploy to GitHub Pages if: github.ref_name == 'v1_release' || github.ref_name == 'v1_develop' id: deployment uses: actions/deploy-pages@v4 with: token: ${{ secrets.GITHUB_TOKEN }} - name: v2_develop Repository Dispatch ${{ github.ref_name }} if: github.ref_name == 'v2_develop' uses: peter-evans/repository-dispatch@v3 with: token: ${{ secrets.V2DOCS_TOKEN }} repository: gui-cs/Terminal.GuiV2Docs event-type: v2_develop_push client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'