name: Deploy Page on: # Workflow dispatch only works when version has not been published yet workflow_dispatch: push: branches: ["main"] tags: # Publish npm package when a new tag is pushed - "*.*.*" # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: contents: read pages: write id-token: write # Allow one concurrent deployment concurrency: group: "pages" cancel-in-progress: true jobs: build: runs-on: ubuntu-latest steps: - name: 🛎️ Checkout uses: actions/checkout@v4 - uses: pnpm/action-setup@v3 with: version: 9 - name: 🦭 Setup Node uses: actions/setup-node@v4 with: node-version: lts/* cache: pnpm - name: 🛬 Install dependencies run: pnpm install - name: 👷 Build run: pnpm build # No tests #- name: Test # run: pnpm test # Copy index.html to 404.html to serve the same file when a file is not found. This fixes GitHub Pages routing issues # - name: 🚷 Show index instead of 404 # run: cp .output/public/index.html .output/public/404.html - name: 🆙 Upload artifact uses: actions/upload-pages-artifact@v3 with: path: .output/public deploy: # Only start after build needs: build environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest steps: - name: 🛎️ Checkout uses: actions/checkout@v4 - name: 🚨 Setup Pages uses: actions/configure-pages@v5 - name: 🚀 Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4