Merge: hermes Tier A adapter joins main alongside v1.3.18 (parallel-l… #97
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: gate-tests | |
| # Regression tests for the deterministic gate scripts (core/gates/scripts/). | |
| # These gates are the layer Sage advertises as immune to model rationalization, | |
| # so they carry their own tests. See develop/validators/gates/README.md. | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| gate-tests: | |
| name: gate regression tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.8' | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| # Provision the runners the fixtures need, so nothing SKIPs in CI. | |
| - name: Install fixture toolchains | |
| run: | | |
| python3 -m pip install --quiet pytest | |
| npm install --global --silent typescript | |
| - name: Run gate regression tests | |
| run: bash develop/validators/gates/run-gate-tests.sh | |
| - name: Flag/quality-locked tool tests | |
| run: python3 develop/validators/tools/test_sage_flags.py | |
| - name: Review-loop v2 controller + ledger tests | |
| run: | | |
| python3 develop/validators/review/test_review_controller.py | |
| python3 develop/validators/review/test_review_ledger.py | |
| python3 develop/validators/review/test_review_checkdiff.py | |
| python3 develop/validators/review/test_review_schema.py | |
| python3 develop/validators/review/calibration/score_calibration.py --self-test | |
| # `sage init` is the most-run command in the framework and nothing checked | |
| # what it WROTE — it emitted a config.yaml no YAML parser accepts. | |
| - name: sage init writes a readable project | |
| run: python3 develop/validators/tools/test_sage_init.py | |
| # The plugin's copies of these scripts used to be a committed mirror this | |
| # job diffed against. The mirror is gone (P3-T2b) — build_plugin.py's audit | |
| # now asserts the generated tree's gate scripts are byte-identical to the | |
| # ones tested above, and plugin-build.yml runs it. | |
| - name: Installer integrity tests | |
| # Drives the real install.sh against a fake release served over file://. | |
| # Proves a corrupted download aborts before anything is written. | |
| run: bash develop/validators/installer/run-installer-tests.sh | |
| gate-tests-bash32: | |
| name: gate regression tests (bash 3.2 — macOS system shell) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # The bash:3.2 image is Alpine and ships neither python3 nor pytest. | |
| # The gates depend on python3 (portable regex, JSON parsing), so install | |
| # it; cases whose runners are absent SKIP rather than fail. | |
| - name: Run the harness under bash 3.2 | |
| run: | | |
| docker run --rm -v "$PWD":/sage -w /sage bash:3.2 sh -c ' | |
| apk add --no-cache python3 >/dev/null && | |
| bash develop/validators/gates/run-gate-tests.sh | |
| ' |