Skip to content

feat(phase-17): quiz backfill, 0/28 -> 28/28 (#151) #57

feat(phase-17): quiz backfill, 0/28 -> 28/28 (#151)

feat(phase-17): quiz backfill, 0/28 -> 28/28 (#151) #57

Workflow file for this run

name: curriculum
on:
push:
branches: [main]
paths:
- "phases/**"
- "scripts/audit_lessons.py"
- "scripts/build_catalog.py"
- "scripts/check_readme_counts.py"
- "catalog.json"
- "README.md"
- ".github/workflows/curriculum.yml"
pull_request:
branches: [main]
paths:
- "phases/**"
- "scripts/audit_lessons.py"
- "scripts/build_catalog.py"
- "scripts/check_readme_counts.py"
- "catalog.json"
- "README.md"
- ".github/workflows/curriculum.yml"
permissions:
contents: read
jobs:
audit:
name: invariant checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
persist-credentials: false
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.12"
- name: run scripts/audit_lessons.py
run: python3 scripts/audit_lessons.py
catalog-drift:
name: catalog.json drift check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
persist-credentials: false
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.12"
- name: rebuild catalog
run: python3 scripts/build_catalog.py --out /tmp/catalog.fresh.json
- name: diff against committed catalog.json
run: |
if ! diff -u catalog.json /tmp/catalog.fresh.json; then
echo "::error::catalog.json is stale. Run 'python3 scripts/build_catalog.py' and commit the result."
exit 1
fi
echo "catalog.json matches filesystem"
readme-counts-drift:
name: README.md counts drift check
runs-on: ubuntu-latest
needs: catalog-drift
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
persist-credentials: false
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.12"
- name: check README counts against catalog.json
run: python3 scripts/check_readme_counts.py