Skip to content

Commit 8cc9b89

Browse files
kkraus14cursoragent
andcommitted
Replace uv sync with uv pip install --group for dependency groups
uv pip install --group reads dependency groups directly from pyproject.toml. Combined with positional package args, a single call installs both the wheel and its test deps: uv pip install ./artifact.whl --group pyproject.toml:test This eliminates uv sync and its --frozen, --inexact, --package, --only-group, --no-install-project flags entirely from CI. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent dfdf260 commit 8cc9b89

5 files changed

Lines changed: 12 additions & 24 deletions

File tree

.github/workflows/build-wheel.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -337,11 +337,8 @@ jobs:
337337
- name: Install test deps and wheels for Cython tests
338338
run: |
339339
uv pip install cuda_pathfinder/dist/*.whl
340-
uv pip install ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}/*.whl
341-
uv pip install ${{ env.CUDA_CORE_ARTIFACTS_DIR }}/"cu${BUILD_CUDA_MAJOR}"/*.whl
342-
# --inexact preserves the wheels installed above
343-
uv sync --frozen --inexact --package cuda-bindings --only-group test --no-install-project
344-
uv sync --frozen --inexact --package cuda-core --only-group test --no-install-project
340+
uv pip install ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}/*.whl --group cuda_bindings/pyproject.toml:test
341+
uv pip install ${{ env.CUDA_CORE_ARTIFACTS_DIR }}/"cu${BUILD_CUDA_MAJOR}"/*.whl --group cuda_core/pyproject.toml:test
345342
346343
- name: Build cuda.bindings Cython tests
347344
run: |

.github/workflows/coverage.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,13 +105,11 @@ jobs:
105105
106106
- name: Build cuda-bindings
107107
run: |
108-
uv pip install -v ./cuda_bindings
109-
uv sync --frozen --inexact --package cuda-bindings --only-group test --no-install-project
108+
uv pip install -v ./cuda_bindings --group cuda_bindings/pyproject.toml:test
110109
111110
- name: Build cuda-core
112111
run: |
113-
uv pip install -v ./cuda_core
114-
uv sync --frozen --inexact --package cuda-core --only-group "test-cu$(cut -d. -f1 <<< $CUDA_VER)" --no-install-project
112+
uv pip install -v ./cuda_core --group "cuda_core/pyproject.toml:test-cu$(cut -d. -f1 <<< $CUDA_VER)"
115113
116114
- name: Install coverage tools
117115
run: |

.github/workflows/test-wheel-linux.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -293,9 +293,7 @@ jobs:
293293
run: |
294294
set -euo pipefail
295295
pushd cuda_pathfinder
296-
uv pip install -v ./*.whl
297-
# --inexact preserves the wheel installed above
298-
uv sync --frozen --inexact --package cuda-pathfinder --only-group "test-cu${TEST_CUDA_MAJOR}" --no-install-project
296+
uv pip install -v ./*.whl --group "pyproject.toml:test-cu${TEST_CUDA_MAJOR}"
299297
uv pip list
300298
popd
301299

.github/workflows/test-wheel-windows.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -271,9 +271,7 @@ jobs:
271271
shell: bash --noprofile --norc -xeuo pipefail {0}
272272
run: |
273273
pushd cuda_pathfinder
274-
uv pip install -v ./*.whl
275-
# --inexact preserves the wheel installed above
276-
uv sync --frozen --inexact --package cuda-pathfinder --only-group "test-cu${TEST_CUDA_MAJOR}" --no-install-project
274+
uv pip install -v ./*.whl --group "pyproject.toml:test-cu${TEST_CUDA_MAJOR}"
277275
uv pip list
278276
popd
279277

ci/tools/run-tests

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,8 @@ test_module=${1}
2323
# Unconditionally install pathfinder wheel
2424
# (it is a direct dependency of bindings, and a transitive dependency of core)
2525
pushd ./cuda_pathfinder
26-
echo "Installing pathfinder wheel"
27-
uv pip install ./*.whl
28-
uv sync --frozen --inexact --package cuda-pathfinder --only-group test --no-install-project
26+
echo "Installing pathfinder wheel and test deps"
27+
uv pip install ./*.whl --group ./pyproject.toml:test
2928
popd
3029

3130
if [[ "${test_module}" == "pathfinder" ]]; then
@@ -43,11 +42,10 @@ elif [[ "${test_module}" == "bindings" ]]; then
4342
echo "Installing bindings wheel"
4443
pushd ./cuda_bindings
4544
if [[ "${LOCAL_CTK}" == 1 ]]; then
46-
uv pip install "${CUDA_BINDINGS_ARTIFACTS_DIR}"/*.whl
45+
uv pip install "${CUDA_BINDINGS_ARTIFACTS_DIR}"/*.whl --group ./pyproject.toml:test
4746
else
48-
uv pip install $(ls "${CUDA_BINDINGS_ARTIFACTS_DIR}"/*.whl)[all]
47+
uv pip install $(ls "${CUDA_BINDINGS_ARTIFACTS_DIR}"/*.whl)[all] --group ./pyproject.toml:test
4948
fi
50-
uv sync --frozen --inexact --package cuda-bindings --only-group test --no-install-project
5149
echo "Running bindings tests"
5250
${SANITIZER_CMD} pytest -rxXs -v --durations=0 --randomly-dont-reorganize tests/
5351
if [[ "${SKIP_CYTHON_TEST}" == 0 ]]; then
@@ -75,11 +73,10 @@ elif [[ "${test_module}" == "core" ]]; then
7573

7674
pushd ./cuda_core
7775
if [[ "${LOCAL_CTK}" == 1 ]]; then
78-
uv pip install "${CUDA_CORE_ARTIFACTS_DIR}"/*.whl
76+
uv pip install "${CUDA_CORE_ARTIFACTS_DIR}"/*.whl --group "./pyproject.toml:test-cu${TEST_CUDA_MAJOR}${FREE_THREADING}"
7977
else
80-
uv pip install $(ls "${CUDA_CORE_ARTIFACTS_DIR}"/*.whl)["cu${TEST_CUDA_MAJOR}"]
78+
uv pip install $(ls "${CUDA_CORE_ARTIFACTS_DIR}"/*.whl)["cu${TEST_CUDA_MAJOR}"] --group "./pyproject.toml:test-cu${TEST_CUDA_MAJOR}${FREE_THREADING}"
8179
fi
82-
uv sync --frozen --inexact --package cuda-core --only-group "test-cu${TEST_CUDA_MAJOR}${FREE_THREADING}" --no-install-project
8380
echo "Running core tests"
8481
${SANITIZER_CMD} pytest -rxXs -v --durations=0 --randomly-dont-reorganize tests/
8582
if [[ "${SKIP_CYTHON_TEST}" == 0 ]]; then

0 commit comments

Comments
 (0)