@@ -194,6 +194,14 @@ jobs:
194194 run : |
195195 twine check --strict cuda_pathfinder/*.whl
196196
197+ - name : Resolve cuda.bindings build dependencies
198+ if : ${{ inputs.build-bindings }}
199+ run : |
200+ python ci/tools/write_wheel_constraints.py \
201+ --output wheel-constraints/cuda-bindings.txt \
202+ --host-platform "${{ inputs.host-platform }}" \
203+ --wheel cuda-pathfinder cuda_pathfinder
204+
197205 - name : Upload cuda.pathfinder build artifacts
198206 if : ${{ strategy.job-index == 0 && inputs.host-platform == 'linux-64' }}
199207 uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
@@ -227,8 +235,8 @@ jobs:
227235 CIBW_ENVIRONMENT_LINUX : >
228236 CUDA_PATH=/host/${{ env.CUDA_PATH }}
229237 CUDA_PYTHON_PARALLEL_LEVEL=${{ env.CUDA_PYTHON_PARALLEL_LEVEL }}
230- PIP_FIND_LINKS =/host/${{ github.workspace }}/cuda_pathfinder
231- PIP_PRE=1
238+ PIP_BUILD_CONSTRAINT =/host/${{ github.workspace }}/wheel-constraints/cuda-bindings.txt
239+ PIP_CONSTRAINT=/host/${{ github.workspace }}/wheel-constraints/cuda-bindings.txt
232240 CC="/host/${{ env.SCCACHE_PATH }} cc"
233241 CXX="/host/${{ env.SCCACHE_PATH }} c++"
234242 SCCACHE_GHA_ENABLED=true
@@ -242,8 +250,8 @@ jobs:
242250 CIBW_ENVIRONMENT_WINDOWS : >
243251 CUDA_PATH="$(cygpath -w ${{ env.CUDA_PATH }})"
244252 CUDA_PYTHON_PARALLEL_LEVEL=${{ env.CUDA_PYTHON_PARALLEL_LEVEL }}
245- PIP_FIND_LINKS ="$(cygpath -w ./cuda_pathfinder )"
246- PIP_PRE=1
253+ PIP_BUILD_CONSTRAINT ="$(cygpath -w ./wheel-constraints/cuda-bindings.txt )"
254+ PIP_CONSTRAINT="$(cygpath -w ./wheel-constraints/cuda-bindings.txt)"
247255 # check cache stats before leaving cibuildwheel
248256 CIBW_BEFORE_TEST_LINUX : >
249257 "/host/${{ env.SCCACHE_PATH }}" --show-adv-stats &&
@@ -286,6 +294,15 @@ jobs:
286294 run : |
287295 twine check --strict ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}/*.whl
288296
297+ - name : Resolve cuda.core build dependencies
298+ if : ${{ inputs.build-core }}
299+ run : |
300+ python ci/tools/write_wheel_constraints.py \
301+ --output wheel-constraints/cuda-core.txt \
302+ --host-platform "${{ inputs.host-platform }}" \
303+ --wheel cuda-pathfinder cuda_pathfinder \
304+ --wheel cuda-bindings "${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}"
305+
289306 - name : Upload cuda.bindings build artifacts
290307 uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
291308 with :
@@ -311,8 +328,8 @@ jobs:
311328 CUDA_PATH=/host/${{ env.CUDA_PATH }}
312329 CUDA_PYTHON_PARALLEL_LEVEL=${{ env.CUDA_PYTHON_PARALLEL_LEVEL }}
313330 CUDA_CORE_BUILD_MAJOR=${{ env.BUILD_CUDA_MAJOR }}
314- PIP_FIND_LINKS=" /host/${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }} /host/${{ github.workspace }}/cuda_pathfinder"
315- PIP_PRE=1
331+ PIP_BUILD_CONSTRAINT= /host/${{ github.workspace }}/wheel-constraints/cuda-core.txt
332+ PIP_CONSTRAINT=/host/${{ github.workspace }}/wheel-constraints/cuda-core.txt
316333 CC="/host/${{ env.SCCACHE_PATH }} cc"
317334 CXX="/host/${{ env.SCCACHE_PATH }} c++"
318335 SCCACHE_GHA_ENABLED=true
@@ -327,8 +344,8 @@ jobs:
327344 CUDA_PATH="$(cygpath -w ${{ env.CUDA_PATH }})"
328345 CUDA_PYTHON_PARALLEL_LEVEL=${{ env.CUDA_PYTHON_PARALLEL_LEVEL }}
329346 CUDA_CORE_BUILD_MAJOR=${{ env.BUILD_CUDA_MAJOR }}
330- PIP_FIND_LINKS ="$(cygpath -w ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}) $(cygpath -w ./cuda_pathfinder )"
331- PIP_PRE=1
347+ PIP_BUILD_CONSTRAINT ="$(cygpath -w ./wheel-constraints/cuda-core.txt )"
348+ PIP_CONSTRAINT="$(cygpath -w ./wheel-constraints/cuda-core.txt)"
332349 # check cache stats before leaving cibuildwheel
333350 CIBW_BEFORE_TEST_LINUX : >
334351 "/host${{ env.SCCACHE_PATH }}" --show-adv-stats &&
@@ -602,14 +619,24 @@ jobs:
602619 OLD_BRANCH=$(yq '.backport_branch' ci/versions.yml)
603620 OLD_BASENAME="cuda-bindings-python${PYTHON_VERSION_FORMATTED}-cuda*-${{ inputs.host-platform }}*"
604621 LATEST_PRIOR_RUN_ID=$(./ci/tools/lookup-run-id --branch "${OLD_BRANCH}" NVIDIA/cuda-python "CI")
622+ PREV_BINDINGS_DIR="cuda_bindings/dist-prev"
605623
606624 gh run download $LATEST_PRIOR_RUN_ID -p ${OLD_BASENAME} -R NVIDIA/cuda-python
607625 rm -rf ${OLD_BASENAME}-tests # exclude cython test artifacts
608626 ls -al $OLD_BASENAME
609- mkdir -p "${{ env.CUDA_BINDINGS_ARTIFACTS_DIR } }"
610- mv $OLD_BASENAME/*.whl "${{ env.CUDA_BINDINGS_ARTIFACTS_DIR } }"
627+ mkdir -p "${PREV_BINDINGS_DIR }"
628+ mv $OLD_BASENAME/*.whl "${PREV_BINDINGS_DIR }"
611629 rmdir $OLD_BASENAME
612630
631+ - name : Resolve previous cuda.core build dependencies
632+ if : ${{ inputs.build-core }}
633+ run : |
634+ python ci/tools/write_wheel_constraints.py \
635+ --output wheel-constraints/cuda-core-prev.txt \
636+ --host-platform "${{ inputs.host-platform }}" \
637+ --wheel cuda-pathfinder cuda_pathfinder \
638+ --wheel cuda-bindings cuda_bindings/dist-prev
639+
613640 - name : Build cuda.core wheel
614641 if : ${{ inputs.build-core }}
615642 uses : pypa/cibuildwheel@294735312765b09d24a2fbec22660ce817587d55 # v4.1.0
@@ -628,8 +655,8 @@ jobs:
628655 CUDA_PATH=/host/${{ env.CUDA_PATH }}
629656 CUDA_PYTHON_PARALLEL_LEVEL=${{ env.CUDA_PYTHON_PARALLEL_LEVEL }}
630657 CUDA_CORE_BUILD_MAJOR=${{ env.BUILD_PREV_CUDA_MAJOR }}
631- PIP_FIND_LINKS=" /host/${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }} /host/${{ github.workspace }}/cuda_pathfinder"
632- PIP_PRE=1
658+ PIP_BUILD_CONSTRAINT= /host/${{ github.workspace }}/wheel-constraints/cuda-core-prev.txt
659+ PIP_CONSTRAINT=/host/${{ github.workspace }}/wheel-constraints/cuda-core-prev.txt
633660 CC="/host/${{ env.SCCACHE_PATH }} cc"
634661 CXX="/host/${{ env.SCCACHE_PATH }} c++"
635662 SCCACHE_GHA_ENABLED=true
@@ -644,8 +671,8 @@ jobs:
644671 CUDA_PATH="$(cygpath -w ${{ env.CUDA_PATH }})"
645672 CUDA_PYTHON_PARALLEL_LEVEL=${{ env.CUDA_PYTHON_PARALLEL_LEVEL }}
646673 CUDA_CORE_BUILD_MAJOR=${{ env.BUILD_PREV_CUDA_MAJOR }}
647- PIP_FIND_LINKS ="$(cygpath -w ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}) $(cygpath -w ./cuda_pathfinder )"
648- PIP_PRE=1
674+ PIP_BUILD_CONSTRAINT ="$(cygpath -w ./wheel-constraints/cuda-core-prev.txt )"
675+ PIP_CONSTRAINT="$(cygpath -w ./wheel-constraints/cuda-core-prev.txt)"
649676 # check cache stats before leaving cibuildwheel
650677 CIBW_BEFORE_TEST_LINUX : >
651678 "/host${{ env.SCCACHE_PATH }}" --show-adv-stats &&
0 commit comments