Repository navigation
43 lines (41 loc) · 1.46 KB
/
Copy pathci.yml
File metadata and controls
43 lines (41 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
name: ci
# Everything here is OFFLINE — no OPENROUTER_API_KEY, no model calls. It validates
# the policy files, type-checks, and runs the TS+Python parity tests. The live
# regression suite (eval/regression.ts) needs a key and is run on a schedule/manually,
# not in CI.
on:
push:
branches: [main]
pull_request:
jobs:
policy-and-parity:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: npm ci
- name: Type-check
run: npm run typecheck
- name: Validate policy files (routes + specs, offline)
run: npm run check
- name: TS + Python parity tests
run: npm test
- name: Gate — no real data in tracked files
run: python3 gates/verify_no_real_data.py
- name: Gate — docs point at files, modes and subcommands that exist
run: python3 gates/verify_doc_refs.py
- name: Pipeline tests (observe / cluster / propose / grader / policy parity)
run: python3 test/test_pipeline.py
- name: Fictional end-to-end example (no key, no network)
run: python3 examples/fictional_workload.py
- name: Package installs and the console script runs
run: |
python3 -m pip install -e .
python3 -m meg.cli gate check
- name: Formatting
run: npm run format:check