@@ -18,56 +18,37 @@ jobs:
1818 steps :
1919 - uses : actions/checkout@v4
2020
21- - name : Set up Python
22- uses : actions/setup-python@v5
23- with :
24- python-version : " 3.12"
25-
2621 - name : Install uv
2722 uses : astral-sh/setup-uv@v4
2823 with :
2924 version : " latest"
3025
3126 - name : Install dependencies
32- run : |
33- uv venv
34- uv pip install -e ".[dev]"
27+ run : uv sync --locked --dev
3528
3629 - name : Run ruff linter
37- run : |
38- source .venv/bin/activate
39- ruff check rlm_code tests
30+ run : uv run ruff check rlm_code tests
4031
4132 - name : Run ruff formatter check
42- run : |
43- source .venv/bin/activate
44- ruff format --check rlm_code tests
33+ run : uv run ruff format --check rlm_code tests
4534
4635 typecheck :
4736 name : Type Check
4837 runs-on : ubuntu-latest
4938 steps :
5039 - uses : actions/checkout@v4
5140
52- - name : Set up Python
53- uses : actions/setup-python@v5
54- with :
55- python-version : " 3.12"
56-
5741 - name : Install uv
5842 uses : astral-sh/setup-uv@v4
5943 with :
6044 version : " latest"
6145
6246 - name : Install dependencies
63- run : |
64- uv venv
65- uv pip install -e ".[dev]"
47+ run : uv sync --locked --dev
6648
6749 - name : Run mypy on core modules
6850 run : |
69- source .venv/bin/activate
70- 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
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
7152
7253 test :
7354 name : Test - Python ${{ matrix.python-version }} on ${{ matrix.os }}
@@ -76,30 +57,21 @@ jobs:
7657 fail-fast : false
7758 matrix :
7859 os : [ubuntu-latest, macos-latest]
79- python-version : ["3.10", "3. 11", "3.12", "3.13"]
60+ python-version : ["3.11", "3.12", "3.13"]
8061
8162 steps :
8263 - uses : actions/checkout@v4
8364
84- - name : Set up Python ${{ matrix.python-version }}
85- uses : actions/setup-python@v5
86- with :
87- python-version : ${{ matrix.python-version }}
88-
8965 - name : Install uv
9066 uses : astral-sh/setup-uv@v4
9167 with :
9268 version : " latest"
9369
9470 - name : Install dependencies
95- run : |
96- uv venv
97- uv pip install -e ".[test]"
71+ run : uv sync --locked --python ${{ matrix.python-version }} --extra test
9872
9973 - name : Run tests
100- run : |
101- source .venv/bin/activate || .venv\Scripts\activate
102- pytest tests/ -v --cov=rlm_code --cov-report=xml --cov-report=term-missing
74+ run : uv run pytest tests/ -v --cov=rlm_code --cov-report=xml --cov-report=term-missing
10375
10476 - name : Upload coverage
10577 if : matrix.os == 'ubuntu-latest' && matrix.python-version == '3.12'
@@ -115,25 +87,17 @@ jobs:
11587 steps :
11688 - uses : actions/checkout@v4
11789
118- - name : Set up Python
119- uses : actions/setup-python@v5
120- with :
121- python-version : " 3.12"
122-
12390 - name : Install uv
12491 uses : astral-sh/setup-uv@v4
12592 with :
12693 version : " latest"
12794
12895 - name : Install dependencies
129- run : |
130- uv venv
131- uv pip install -e ".[test]"
96+ run : uv sync --locked --extra test
13297
13398 - name : Run deterministic RLM benchmark gate
13499 run : |
135- source .venv/bin/activate
136- python scripts/rlm_bench_gate.py \
100+ uv run python scripts/rlm_bench_gate.py \
137101 --baseline tests/fixtures/rlm_ci_baseline_generic_smoke.json \
138102 --preset generic_smoke \
139103 --limit 2
@@ -145,27 +109,17 @@ jobs:
145109 steps :
146110 - uses : actions/checkout@v4
147111
148- - name : Set up Python
149- uses : actions/setup-python@v5
150- with :
151- python-version : " 3.12"
152-
153112 - name : Install uv
154113 uses : astral-sh/setup-uv@v4
155114 with :
156115 version : " latest"
157116
158- - name : Install build dependencies
159- run : |
160- uv pip install --system build hatchling
161-
162117 - name : Build package
163- run : python -m build
118+ run : uv build
164119
165120 - name : Check distribution
166121 run : |
167- uv pip install --system twine
168- twine check dist/*
122+ uv tool run twine check dist/*
169123
170124 - name : Upload build artifacts
171125 uses : actions/upload-artifact@v4
0 commit comments