mirror of https://github.com/razor-ai/soup.git
51 lines
1.6 KiB
YAML
51 lines
1.6 KiB
YAML
name: Recipe Validation
|
|
|
|
# v0.31.0 — runs the per-recipe validation suite on every PR + push to main.
|
|
#
|
|
# Each recipe in src/soup_cli/recipes/catalog.py is parsed, loaded as a
|
|
# SoupConfig, and asserted to match its RecipeMeta declaration. Catches
|
|
# regressions when an upstream model id is renamed or removed, or when the
|
|
# config schema changes in a backward-incompatible way.
|
|
#
|
|
# A 100-step live smoke train per recipe is on the v0.31.1 roadmap and will
|
|
# require a self-hosted GPU runner; this workflow is the CPU-only validation
|
|
# tier that runs on every PR.
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'src/soup_cli/recipes/**'
|
|
- 'src/soup_cli/config/**'
|
|
- 'src/soup_cli/data/formats.py'
|
|
- 'src/soup_cli/data/loader.py'
|
|
- 'tests/test_recipes_v031.py'
|
|
- 'tests/test_recipes.py'
|
|
- '.github/workflows/recipe-validation.yml'
|
|
pull_request:
|
|
branches: [main]
|
|
paths:
|
|
- 'src/soup_cli/recipes/**'
|
|
- 'src/soup_cli/config/**'
|
|
- 'src/soup_cli/data/formats.py'
|
|
- 'src/soup_cli/data/loader.py'
|
|
- 'tests/test_recipes_v031.py'
|
|
- 'tests/test_recipes.py'
|
|
- '.github/workflows/recipe-validation.yml'
|
|
|
|
jobs:
|
|
validate-recipes:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
PYTHONUTF8: "1"
|
|
PYTHONIOENCODING: "utf-8"
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
- name: Install dependencies
|
|
run: pip install -e ".[dev]"
|
|
- name: Validate every recipe (parameterised pytest)
|
|
run: pytest tests/test_recipes_v031.py tests/test_recipes.py -v --tb=short --no-cov
|