gh-pages.yml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. ---
  2. name: Deploy site to Pages
  3. on:
  4. # Runs on pushes targeting the default branch
  5. push:
  6. branches: ["main"]
  7. # Allows you to run this workflow manually from the Actions tab
  8. workflow_dispatch:
  9. # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
  10. permissions:
  11. contents: read
  12. pages: write
  13. id-token: write
  14. # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
  15. # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
  16. concurrency:
  17. group: "pages"
  18. cancel-in-progress: false
  19. jobs:
  20. # Build job
  21. build:
  22. runs-on: ubuntu-latest
  23. steps:
  24. - name: Checkout
  25. uses: actions/checkout@v4
  26. - name: Setup Node
  27. uses: actions/setup-node@v4
  28. with:
  29. node-version-file: ".node-version"
  30. cache: npm
  31. - name: Install dependencies
  32. run: npm ci
  33. - name: Build
  34. run: npm run build
  35. - name: Upload artifact
  36. uses: actions/upload-pages-artifact@v3
  37. with:
  38. path: ./build
  39. # Deployment job
  40. deploy:
  41. environment:
  42. name: github-pages
  43. url: ${{ steps.deployment.outputs.page_url }}
  44. runs-on: ubuntu-latest
  45. needs: build
  46. steps:
  47. - name: Deploy to GitHub Pages
  48. id: deployment
  49. uses: actions/deploy-pages@v4