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@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
  26. with:
  27. python-version: "3.14"
  28. - run: python .github/api.py
  29. - uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3.0.1
  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@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5
  46. id: deployment