| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- ---
- name: Deploy site to Pages
- on:
- # Runs on pushes targeting the default branch
- push:
- branches: ["main"]
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
- # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
- permissions:
- contents: read
- pages: write
- id-token: write
- # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
- # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
- concurrency:
- group: "pages"
- cancel-in-progress: false
- jobs:
- # Build job
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - name: Setup Node
- uses: actions/setup-node@v4
- with:
- node-version-file: ".node-version"
- cache: npm
- - name: Install dependencies
- run: npm ci
- - name: Build
- run: npm run build
- - name: Upload artifact
- uses: actions/upload-pages-artifact@v3
- with:
- path: ./build
- # Deployment job
- deploy:
- environment:
- name: github-pages
- url: ${{ steps.deployment.outputs.page_url }}
- runs-on: ubuntu-latest
- needs: build
- steps:
- - name: Deploy to GitHub Pages
- id: deployment
- uses: actions/deploy-pages@v4
|