name: Deploy Docs on: push: tags: - '*' paths: - 'docs/**' workflow_dispatch: pull_request: paths: - 'docs/**' branches: - dev jobs: build: name: Build and Test runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Setup .NET uses: actions/setup-dotnet@v5 with: dotnet-version: 10.0.x - name: Setup DocFX run: dotnet tool install -g docfx --version 2.78.4 - name: Build DNet docs run: docfx docs/docfx.json - name: Upload Artifacts uses: actions/upload-artifact@v5 with: name: static-docs path: docs/_site deploy: name: Deploy runs-on: ubuntu-latest needs: build if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' steps: - name: Download Artifacts uses: actions/download-artifact@v6 with: name: static-docs path: output/ - name: Add CNAME run: echo "${{ vars.DOCS_DOMAIN }}" > output/CNAME - name: Auth DNet bot id: bot_auth uses: actions/create-github-app-token@v1 with: private-key: ${{ secrets.DNET_BOT_PEM }} app-id: ${{ secrets.DNET_BOT_ID }} owner: ${{ github.repository_owner }} - name: Push to the Docs Repo uses: cpina/github-action-push-to-another-repository@main env: API_TOKEN_GITHUB: ${{ steps.bot_auth.outputs.token }} with: source-directory: 'output' destination-github-username: 'discord-net' destination-repository-name: 'docs-static' user-email: dnetbot@discordnet.dev target-branch: master target-directory: docs