Skip to content

chore: will this bloody work? #252

chore: will this bloody work?

chore: will this bloody work? #252

Workflow file for this run

name: Build & Deploy # CI workflow: build site and deploy to GitHub Pages
on:
push: # Run on direct pushes to main (will build & deploy)
branches: ['main']
pull_request: # Run on PRs targeting main (build only; deploy steps are conditionally skipped)
branches: ['main']
# Least-privilege permissions for Pages
permissions: # Minimum required permissions for Pages OIDC deployment
contents: read # Needed to checkout the repository
pages: write # Required to publish to GitHub Pages
id-token: write # Required for OIDC authentication during deployment
# Avoid overlapping deployments
concurrency:
group: pages # Ensure only one Pages deployment runs at a time
cancel-in-progress: true # Cancel any in-progress run from the same group when a new one starts
jobs:
build:
runs-on: ubuntu-latest # Latest Ubuntu runner image
environment: # Deployment environment metadata (appears in Deployments UI)
name: github-pages
steps:
- name: Checkout # Fetch repository contents
uses: actions/checkout@v4
- name: Set up Node.js # Install requested Node version & enable npm cache
uses: actions/setup-node@v4
with:
node-version: '24.2.0' # Aligns with engines + Volta pin
cache: 'npm' # Speeds up installs across runs
- name: Install dependencies # Clean, reproducible install
run: npm ci
- name: Build # Run Eleventy build -> outputs static site into ./dist
run: npm run build
# Prepare Pages configuration (only when we intend to deploy)
- name: Configure Pages
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: actions/configure-pages@v5
- name: Upload Pages artifact # Package the built site for deployment
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: actions/upload-pages-artifact@v3
with:
path: ./dist # Must match Eleventy's output directory
- name: Deploy to GitHub Pages # Publish artifact -> GitHub Pages
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
id: deployment
uses: actions/deploy-pages@v4
# This step sets the 'page_url' output available as steps.deployment.outputs.page_url