Skip to content

Commit 16e391d

Browse files
committed
Merge branch 'main' into pr198-use-keys-fix
Brings in v13.3.1 (sha 5d21c94f...) and the cuda-core/cudla test additions. Resolves recipe/recipe.yaml `context.number` by setting it to 1 to capture this PR's build-graph changes on top of the 13.3.1 release. Also folds in the noarch-dedupe wiring on the cuda-python output: * Adds explicit `build.string: py_min_${{ python_min }}_${{ number }}` so all variant.use_keys: [python] builds produce the same artifact filename and collide on upload (matches root-feedstock's pattern). * Loosens the noarch test from `python ${{ python_min }}.*` to `python >=${{ python_min }}` so the test environment can pick the variant's Python and resolve against the locally-built cuda-bindings ABI (matches v0 behaviour).
2 parents 4b6afb7 + 60289b1 commit 16e391d

1 file changed

Lines changed: 21 additions & 7 deletions

File tree

recipe/recipe.yaml

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
schema_version: 1
33

44
context:
5-
number: 3
6-
version: "13.3.0"
7-
sha256: a6f724e35d2c5087eace5d19ede1f9abdc3cf8b8eb84c4d394a11e08bf21bff4
5+
number: 1
6+
version: "13.3.1"
7+
sha256: 5d21c94fb373c9dc5c71f922a4356bb0e292b85c1a3c04930a37834f5201a00d
88
bindings_major_version: ${{ (version | split("."))[0] | int }}
99
bindings_minor_version: ${{ (version | split("."))[1] | int }}
1010
bindings_patch_version: ${{ (version | split("."))[2] | int }}
@@ -31,12 +31,17 @@ outputs:
3131
number: ${{ number }}
3232
skip: not linux64
3333
noarch: python
34+
# Deterministic build string so all variant.use_keys: [python] builds
35+
# produce the same artifact filename — required for upload-time dedupe
36+
# via hash collision (see `variant.use_keys` note below).
37+
string: py_min_${{ python_min | replace(".", "") }}_${{ number }}
3438
variant:
3539
# Ensures conda-smithy splits CI jobs per Python version. Without
3640
# this, the noarch output drops `python` from the intersection of
3741
# used loop vars (since CFEP-25 uses `python_min`), collapsing all
3842
# Python variants into a single serialized job. The redundant noarch
39-
# builds dedupe on upload via hash collision.
43+
# builds dedupe on upload via hash collision (the explicit `string`
44+
# above keeps the filename identical across variants).
4045
use_keys:
4146
- python
4247
script:
@@ -53,6 +58,7 @@ outputs:
5358
run:
5459
- python >=${{ python_min }}
5560
- ${{ pin_subpackage('cuda-bindings', upper_bound='x.x') }}
61+
- cuda-core >=1.0.0,<1.1.0
5662
- cuda-version >=13.0,<14.0a0
5763
tests:
5864
- script:
@@ -61,9 +67,13 @@ outputs:
6167
- if: linux
6268
then: python -c "import cuda.bindings.cufile"
6369
- python -c "import cuda.bindings.nvml"
70+
- if: aarch64
71+
then: python -c "import cuda.bindings.cudla"
6472
requirements:
6573
run:
66-
- python ${{ python_min }}.*
74+
# Range (not pinned to python_min) so the test env can use the
75+
# variant's Python, matching the locally-built cuda-bindings ABI.
76+
- python >=${{ python_min }}
6777
- numpy
6878
- python:
6979
imports:
@@ -120,7 +130,6 @@ outputs:
120130
then:
121131
- libcufile
122132
- libcufile-dev
123-
- libnvfatbin
124133
- cython
125134
- pip
126135
- pyclibrary
@@ -139,7 +148,9 @@ outputs:
139148
- ${{ pin_compatible('cuda-nvvm-impl', lower_bound='x', upper_bound='x') }}
140149
- if: linux
141150
then: ${{ pin_compatible('libcufile', lower_bound='x', upper_bound='x') }}
142-
- ${{ pin_compatible('libnvfatbin', lower_bound='x', upper_bound='x') }}
151+
- if: aarch64
152+
then: libcudla >=13.0,<14.0a0
153+
- libnvfatbin >=13.0,<14.0a0
143154
- libnvjitlink >=13.0,<14.0a0
144155
ignore_run_exports:
145156
from_package:
@@ -164,6 +175,7 @@ outputs:
164175
then: export C_INCLUDE_PATH="$CONDA_PREFIX/${{ subdir }}/include"
165176
- if: win
166177
then: set "CL=%CL% /I%CONDA_PREFIX%\${{ subdir }}\include"
178+
# Workaround for https://github.com/conda-forge/setuptools-feedstock/issues/399
167179
- pip install setuptools
168180
- cythonize -i -3 -Xfreethreading_compatible=True *.pyx
169181
- python -c "import test_cimport; test_cimport.test()"
@@ -172,6 +184,8 @@ outputs:
172184
- python -c "import cuda.bindings.nvml"
173185
- if: linux
174186
then: python -c "import cuda.bindings.cufile"
187+
- if: aarch64
188+
then: python -c "import cuda.bindings.cudla"
175189
requirements:
176190
run:
177191
- ${{ compiler('c') }}

0 commit comments

Comments
 (0)