Skip to content

fix: report structural ledger corruption and handle missing newlines #262

fix: report structural ledger corruption and handle missing newlines

fix: report structural ledger corruption and handle missing newlines #262

Workflow file for this run

name: CI
on:
push:
pull_request:
jobs:
ci:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install CuraFrame and test dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pytest
- name: Import sanity check
run: python -c "import cura_frame"
# Recording is off unless CURAFRAME_LEDGER_ROOT is set, so the suite runs
# with it on to prove the recorder works end to end rather than only in
# its own unit tests. The ledger it writes is gitignored and rebuilt each
# run; verifying it below is what makes "the recorder ran" checkable.
- name: Run test suite
env:
CURAFRAME_LEDGER_ROOT: ${{ github.workspace }}
run: pytest
# `--require-rows` is what closes the cost of the recorder's own safety
# rule: because it degrades to silence rather than raise, a broken
# recorder and an idle one look identical from outside. If the suite ran
# and wrote nothing, that is a failure rather than a clean result.
#
# The same command runs locally, so this check cannot drift from the one
# a developer can reproduce.
- name: Verify the verdict ledger
run: python -m cura_frame.governance verify --require-rows
- name: CLI smoke test
run: python -m cura_frame.cli --help
- name: Bytecode compile check
run: python -m compileall cura_frame