@@ -12,8 +12,8 @@ concurrency:
1212 cancel-in-progress : true
1313
1414jobs :
15- lint :
16- name : Lint & Format Check
15+ ruff :
16+ name : Ruff Check
1717 runs-on : ubuntu-latest
1818 steps :
1919 - uses : actions/checkout@v4
@@ -26,104 +26,5 @@ jobs:
2626 - name : Install dependencies
2727 run : uv sync --locked --dev
2828
29- - name : Run ruff linter
29+ - name : Run ruff
3030 run : uv run ruff check rlm_code tests
31-
32- - name : Run ruff formatter check
33- run : uv run ruff format --check rlm_code tests
34-
35- typecheck :
36- name : Type Check
37- runs-on : ubuntu-latest
38- steps :
39- - uses : actions/checkout@v4
40-
41- - name : Install uv
42- uses : astral-sh/setup-uv@v4
43- with :
44- version : " latest"
45-
46- - name : Install dependencies
47- run : uv sync --locked --dev
48-
49- - name : Run mypy on core modules
50- run : |
51- uv run mypy rlm_code/core/config.py rlm_code/core/debug_logger.py rlm_code/mcp/utils.py rlm_code/mcp/retry.py rlm_code/models/cache.py rlm_code/models/streaming.py rlm_code/validation/security.py --ignore-missing-imports
52-
53- test :
54- name : Test - Python ${{ matrix.python-version }} on ${{ matrix.os }}
55- runs-on : ${{ matrix.os }}
56- strategy :
57- fail-fast : false
58- matrix :
59- os : [ubuntu-latest, macos-latest]
60- python-version : ["3.11", "3.12", "3.13"]
61-
62- steps :
63- - uses : actions/checkout@v4
64-
65- - name : Install uv
66- uses : astral-sh/setup-uv@v4
67- with :
68- version : " latest"
69-
70- - name : Install dependencies
71- run : uv sync --locked --python ${{ matrix.python-version }} --extra test
72-
73- - name : Run tests
74- run : uv run pytest tests/ -v --cov=rlm_code --cov-report=xml --cov-report=term-missing
75-
76- - name : Upload coverage
77- if : matrix.os == 'ubuntu-latest' && matrix.python-version == '3.12'
78- uses : codecov/codecov-action@v4
79- with :
80- file : ./coverage.xml
81- fail_ci_if_error : false
82-
83- rlm-benchmark-gate :
84- name : RLM Benchmark Gate
85- runs-on : ubuntu-latest
86- needs : [lint, test]
87- steps :
88- - uses : actions/checkout@v4
89-
90- - name : Install uv
91- uses : astral-sh/setup-uv@v4
92- with :
93- version : " latest"
94-
95- - name : Install dependencies
96- run : uv sync --locked --extra test
97-
98- - name : Run deterministic RLM benchmark gate
99- run : |
100- uv run python scripts/rlm_bench_gate.py \
101- --baseline tests/fixtures/rlm_ci_baseline_generic_smoke.json \
102- --preset generic_smoke \
103- --limit 2
104-
105- build :
106- name : Build Package
107- runs-on : ubuntu-latest
108- needs : [lint, test, rlm-benchmark-gate]
109- steps :
110- - uses : actions/checkout@v4
111-
112- - name : Install uv
113- uses : astral-sh/setup-uv@v4
114- with :
115- version : " latest"
116-
117- - name : Build package
118- run : uv build
119-
120- - name : Check distribution
121- run : |
122- uv tool run twine check dist/*
123-
124- - name : Upload build artifacts
125- uses : actions/upload-artifact@v4
126- with :
127- name : dist
128- path : dist/
129- retention-days : 7
0 commit comments