SPB Git

spb/air Public MIT

AIR — The Language of Accounting.

Python 100%
1.6 KB · 50 lines yaml
Raw Blame History
1# Projet : AIR — Accounting Intermediate Representation2# Auteur : Simon-Pierre Boucher3# Contact : contact@spboucher.ai4# CI: offline test suite (no API keys) + author-header gate on every push/PR.56name: CI78on:9  push:10    branches: [main]11  pull_request:1213jobs:14  test:15    runs-on: ubuntu-latest16    strategy:17      fail-fast: false18      matrix:19        python-version: ["3.11", "3.12", "3.13"]20    steps:21      - uses: actions/checkout@v422      - uses: actions/setup-python@v523        with:24          python-version: ${{ matrix.python-version }}25      - name: Install26        run: pip install -e ".[dev]"27      - name: Author-header gate28        run: python scripts/check_headers.py29      - name: Offline test suite (99 tests — no network, no API keys)30        run: pytest tests/ -q --ignore=tests/test_llm_live.py3132  golden-determinism:33    # compile the demo document twice on a fresh interpreter each time:34    # byte-identical CSV output or the build fails35    runs-on: ubuntu-latest36    steps:37      - uses: actions/checkout@v438      - uses: actions/setup-python@v539        with:40          python-version: "3.12"41      - name: Install42        run: pip install -e .43      - name: Determinism check44        run: |45          python -m sdk.cli compile tests/fixtures/demo_document.yaml \46            --policies alsl/policies/ca-qc-2026.yaml --backend csv --out out_a47          python -m sdk.cli compile tests/fixtures/demo_document.yaml \48            --policies alsl/policies/ca-qc-2026.yaml --backend csv --out out_b49          diff out_a/*.csv out_b/*.csv && echo "byte-identical: OK"50