feat(index): project review_status into the search index (engine#94) … #32
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
| # Schema-mirror drift gate — pinned to a learn-content-engine release. | |
| # | |
| # The JSON-Schema artefacts under schema/ are a mirror of | |
| # learn-content-engine schema/ at the version pinned in | |
| # schema/engine-version.txt (source-of-truth chain: engine (canonical) | |
| # -> this mirror). This job downloads the npm tarball | |
| # of the PINNED engine release and compares it byte-for-byte against the | |
| # committed mirror. The npm tarball is used (not a git tag) because a | |
| # published npm version is immutable, it is exactly the artefact | |
| # validator consumers install, and it needs no GitHub token. Moving to a | |
| # new engine version is a deliberate PR that bumps the pin file and | |
| # refreshes the mirror together — no floating branch is ever compared. | |
| name: Schema mirror drift | |
| on: | |
| pull_request: | |
| paths: | |
| - "schema/**" | |
| - "scripts/check_schema_drift.py" | |
| - ".github/workflows/schema-drift.yml" | |
| push: | |
| branches: [main] | |
| # Manual trigger + a daily heartbeat: with an immutable pin the compare | |
| # is deterministic, so the cron mainly proves the pinned tarball stays | |
| # fetchable and that no hand-edit landed on main. | |
| workflow_dispatch: | |
| schedule: | |
| - cron: "0 6 * * *" | |
| # Coerce Node-runtime actions onto Node 24 as a safety net for any | |
| # action still defaulting to the deprecated Node 20 runtime. | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" | |
| jobs: | |
| drift: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| - name: Check schema mirror against the pinned engine release | |
| run: python scripts/check_schema_drift.py |