core/.github/workflows/smoke.yml
Shay 938d2bfeb3 ci(smoke): add audio sensorium tests to the PR smoke gate
tests/test_audio_*.py (compiler, eval-gates, pack-manifest, sensorium-mount,
CRDT-merge, and teachers once #479 lands) ran only post-merge via full-pytest;
they now gate PRs too. Glob auto-includes future audio test files. 54 tests,
~3s — well within the smoke budget.
2026-05-29 13:31:58 -07:00

54 lines
1.4 KiB
YAML

name: smoke
# Fast PR gate — runs the smoke suite (~2-3 min) on every PR push.
# Covers: chat runtime, pipeline, architectural invariants, audio sensorium
# (tests/test_audio_*.py — compiler/eval-gates/mount/CRDT-merge/teachers, ~3s).
#
# Full pytest runs post-merge to main (see full-pytest.yml).
# Regressions caught here block the PR; anything outside the smoke
# suite is caught on main within minutes of merge.
on:
pull_request:
branches: [main]
permissions:
contents: read
concurrency:
group: smoke-${{ github.ref }}
cancel-in-progress: true
jobs:
smoke:
name: smoke (-m "not quarantine")
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: set up uv
uses: astral-sh/setup-uv@v5
with:
python-version: '3.11'
enable-cache: true
- name: install dependencies
run: |
uv pip install -e ".[dev]" pyyaml
- name: pytest smoke suite
env:
PYTHONPATH: ${{ github.workspace }}
run: |
uv run pytest -m "not quarantine" --tb=short -q \
tests/test_chat_runtime.py \
tests/test_achat.py \
tests/test_runtime_config.py \
tests/test_cognitive_turn_pipeline.py \
tests/test_architectural_invariants.py \
tests/test_audio_*.py