name: Pages on: push: branches: [main] paths: - "site/**" - ".github/workflows/pages.yml" workflow_dispatch: permissions: contents: read concurrency: group: pages cancel-in-progress: false jobs: build: name: Build site # GitHub only: the Gitea origin also runs .github/workflows but has no Pages; deploy skips with this job. if: github.server_url == 'https://github.com' runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - uses: actions/configure-pages@v6 - name: Stage site without source notes run: rsync -a --exclude='*.md' site/ _site/ - uses: actions/upload-pages-artifact@v5 with: path: _site/ deploy: name: Deploy needs: build runs-on: ubuntu-latest permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - id: deployment uses: actions/deploy-pages@v5