ci.yml 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. name: CI
  2. # Update pins with: pinact run -update
  3. # Check for issues with: zizmor --pedantic .github/workflows/ci.yml
  4. concurrency:
  5. group: ${{ github.workflow }}-${{ github.ref }}
  6. cancel-in-progress: true
  7. on:
  8. push:
  9. branches: main
  10. pull_request:
  11. permissions:
  12. contents: read
  13. jobs:
  14. build:
  15. name: Build
  16. runs-on: ubuntu-latest
  17. steps:
  18. - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
  19. with:
  20. persist-credentials: false
  21. - uses: lycheeverse/lychee-action@8646ba30535128ac92d33dfc9133794bfdd9b411 # v2.8.0
  22. with:
  23. args: --verbose --no-progress --accept 200,429 README.md
  24. fail: true
  25. - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
  26. with:
  27. python-version: "3.14"
  28. - run: python .github/api.py
  29. - uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
  30. if: github.event_name == 'push' && github.ref == 'refs/heads/main'
  31. with:
  32. path: ./dist
  33. deploy:
  34. name: Deploy
  35. if: github.event_name == 'push' && github.ref == 'refs/heads/main'
  36. runs-on: ubuntu-latest
  37. needs: build
  38. permissions:
  39. pages: write # To deploy to GitHub Pages
  40. id-token: write # For OIDC authentication with actions/deploy-pages
  41. environment:
  42. name: github-pages
  43. url: ${{ steps.deployment.outputs.page_url }}
  44. steps:
  45. - uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0
  46. id: deployment