chore: add direct wrangler wrapper #209
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v8.1.0 | |
| - name: Install dependencies | |
| run: uv sync --frozen --group dev | |
| - name: Run unit tests | |
| run: | | |
| set -o pipefail | |
| uv run python -m pytest -q 2>&1 | tee pytest.log | |
| - name: Run mock route evaluation | |
| run: | | |
| set -o pipefail | |
| uv run python scripts/eval_routes.py --mock-embeddings 2>&1 | tee mock-route-eval.log | |
| - name: Verify route contract | |
| run: | | |
| set -o pipefail | |
| uv run python scripts/verify_route_contract.py 2>&1 | tee route-contract.log | |
| - name: Build Docker image | |
| run: | | |
| set -o pipefail | |
| docker build . 2>&1 | tee docker-build.log | |
| - name: Verify redacted review import | |
| run: | | |
| set -o pipefail | |
| uv run python scripts/import_review_samples.py \ | |
| --input tests/samples/redacted_review_samples.synthetic.jsonl \ | |
| --output /tmp/intentmux-review-cases.yaml \ | |
| --routes config/routes.yaml \ | |
| --output-summary json 2>&1 | tee review-import.log | |
| uv run python -c "from pathlib import Path; from scripts.review_decisions import load_cases, load_route_ids, validate_expected_routes; cases=load_cases(Path('/tmp/intentmux-review-cases.yaml')); validate_expected_routes(cases, load_route_ids(Path('config/routes.yaml'))); assert len(cases)==1; assert cases[0].expected_route=='deep'" 2>&1 | tee review-decisions.log | |
| - name: Run router log summary fixture check | |
| run: | | |
| set -o pipefail | |
| uv run python scripts/router_log_summary.py --output json < tests/samples/router_logs.ndjson 2>&1 | tee router-log-summary.json | |
| uv run python -c "import json; payload=json.load(open('router-log-summary.json')); assert payload['total']==3; assert payload['route_complete']==2; assert payload['route_error']==1" | |
| - name: Run route budget fixture check | |
| run: | | |
| set -o pipefail | |
| uv run python scripts/check_route_error_budget.py tests/samples/router_logs.ndjson \ | |
| --max-error-rate 0.4 \ | |
| --max-target-error-rate 1.0 \ | |
| --max-route-error-rate 1.0 \ | |
| --max-not-ok-rate 0.5 \ | |
| --max-upstream-status-rate 503=0.5 2>&1 | tee route-budget.log | |
| - name: Upload CI diagnostics (failure only) | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ci-failure-diagnostics | |
| path: | | |
| pytest.log | |
| mock-route-eval.log | |
| route-contract.log | |
| docker-build.log | |
| review-import.log | |
| review-decisions.log | |
| router-log-summary.json | |
| route-budget.log |