Skip to content

chore: add canary job and pin actions #24

chore: add canary job and pin actions

chore: add canary job and pin actions #24

Workflow file for this run

# SPDX-FileCopyrightText: 2026 James Harton
#
# SPDX-License-Identifier: Apache-2.0
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
build:
name: zola build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: 'recursive'
- run: sudo snap install --edge zola
- run: zola build
- uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4.0.0
with:
path: public/
reuse:
name: REUSE compliance
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: REUSE compliance check
uses: fsfe/reuse-action@772649cfa03a64a08c458c7cca9a6a473d74e7f9 # v6
canary:
name: canary
runs-on: ubuntu-latest
if: always()
needs:
- build
- reuse
steps:
- name: Check all jobs passed
run: |
if [[ "${{ needs.build.result }}" != "success" ]]; then exit 1; fi
if [[ "${{ needs.reuse.result }}" != "success" ]]; then exit 1; fi
echo "All checks passed!"
deploy:
name: Deploy site to GitHub Pages
runs-on: ubuntu-latest
needs: build
if: github.ref == 'refs/heads/main'
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5