Skip to content

Merge: hermes Tier A adapter joins main alongside v1.3.18 (parallel-l… #97

Merge: hermes Tier A adapter joins main alongside v1.3.18 (parallel-l…

Merge: hermes Tier A adapter joins main alongside v1.3.18 (parallel-l… #97

Workflow file for this run

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
'