feat(phase-17): quiz backfill, 0/28 -> 28/28 (#151) #57
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |