Skip to content

fix(hooks): stop the pre-push gauntlet hanging on model-download tests #94

fix(hooks): stop the pre-push gauntlet hanging on model-download tests

fix(hooks): stop the pre-push gauntlet hanging on model-download tests #94

Workflow file for this run

name: ci
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
lint-typecheck-test:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
version: "0.5.4"
- name: Install dependencies
run: uv sync --extra dev --frozen
- name: Ruff lint
run: uv run ruff check .
- name: Ruff format check
run: uv run ruff format --check .
- name: Mypy strict
run: uv run mypy src tests scripts
- name: Pytest (unit)
run: uv run pytest -v --cov=src --cov-report=term-missing
- name: Eval regression gate (vs committed baseline)
# Compares the committed baseline against itself as a smoke test until
# a self-hosted runner can execute the live eval stack. When a fresh
# run is fetched from artifacts, point --candidate at it. Threshold:
# 5% (any metric dropping more than this fails CI).
run: |
uv run python -m scripts.check_regression \
--baseline data/eval/baseline.json \
--candidate data/eval/baseline.json \
--threshold 0.05