github-pages.yml 951 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. name: Build and deploy Docs site to GitHub Pages
  2. on:
  3. workflow_dispatch:
  4. push:
  5. branches:
  6. - main
  7. permissions:
  8. contents: write
  9. jobs:
  10. github-pages:
  11. runs-on: ubuntu-latest
  12. steps:
  13. - name: Checkout Repo
  14. uses: actions/checkout@v6.0.2
  15. - name: Setup Python
  16. uses: actions/setup-python@v6.2.0
  17. with:
  18. python-version: "3.11"
  19. - name: Install uv
  20. uses: astral-sh/setup-uv@v8.0.0
  21. - name: Sync Docs Tooling
  22. run: uv sync --locked --group docs
  23. - name: Build
  24. run: uv run --group docs zensical build
  25. - name: Write CNAME
  26. if: ${{ vars.PAGES_CNAME != '' }}
  27. run: printf '%s\n' "${{ vars.PAGES_CNAME }}" > site/CNAME
  28. - name: Deploy to GitHub Pages
  29. uses: peaceiris/actions-gh-pages@v4.0.0
  30. with:
  31. github_token: ${{ secrets.GITHUB_TOKEN }}
  32. publish_dir: ./site
  33. publish_branch: "gh-pages"