@@ -16,8 +16,7 @@ Create an nvbug from the SWQA template to request pre-release validation.
1616To find the template, search for a previous release's nvbug (e.g. by
1717title "Release of cuda.core") and create a new bug from the same template.
1818
19- Example (from the cuda.core v0.6.0 release,
20- [ nvbug 5910741] ( https://nvbugspro.nvidia.com/bug/5910741 ) ):
19+ Example:
2120
2221> ** Title:** Release of cuda.core v0.6.0
2322>
@@ -48,28 +47,15 @@ Example (from the cuda.core v0.6.0 release,
4847> - PyPI wheel upload
4948> - Post-release validation
5049
51- ** How to determine the SW combinations:**
52-
53- - ** cuda.core version** : The version being released.
54- - ** cuda.bindings, CTK, and CUDA driver versions** : Check with the release owner.
55-
56- Update the version, SW combinations, and platforms as appropriate for each
57- release.
50+ Update the version, SW combinations (check with the release owner), and
51+ platforms as appropriate for each release.
5852
5953---
6054
6155## Check (or update if needed) the dependency requirements
6256
63- Review ` cuda_core/pyproject.toml ` and verify the following are current:
64-
65- - ` requires-python ` — supported Python version range
66- - ` dependencies ` — runtime dependencies (e.g. ` numpy ` )
67- - ` [project.optional-dependencies] ` — ` cuda-bindings ` version pins for
68- ` cu12 ` / ` cu13 ` extras
69- - ` [build-system] requires ` — Cython and setuptools version pins
70- - ` [dependency-groups] ` — test dependencies (` ml-dtypes ` , ` cupy ` ,
71- ` cuda-toolkit ` version pins)
72- - Python version classifiers in ` [project] `
57+ Review ` cuda_core/pyproject.toml ` and verify that all dependency
58+ requirements are current.
7359
7460---
7561
@@ -120,8 +106,6 @@ git push origin cuda-core-v0.6.0
120106Pushing the tag triggers a CI run automatically. Monitor it in the
121107** Actions** tab on GitHub.
122108
123- - ** The docs build is expected to fail** on tag-triggered runs. This is
124- normal — docs are built during the release workflow instead.
125109- ** All CI tests should succeed.** If any fail, investigate and rerun as
126110 needed.
127111- Note the ** run ID** of the successful tag-triggered run. The release
@@ -149,10 +133,10 @@ publish to PyPI.
149133 [ ` ci/versions.yml ` ] ( ../ci/versions.yml ) (e.g. ` 13.1.1 ` )
150134 - ** Which wheel index to publish to** : ` testpypi `
151135
152- 2 . Wait for the workflow to complete. The docs build step will fail on
153- forks — this is expected and does not block the wheel upload.
136+ 2 . Wait for the workflow to complete.
154137
155- 3 . Verify the TestPyPI upload by installing and running tests locally:
138+ 3 . Verify the TestPyPI upload by installing and running tests from a
139+ checked-out copy of the repository:
156140
157141 ``` bash
158142 pip install -i https://test.pypi.org/simple/ \
@@ -177,27 +161,43 @@ pip install cuda-core==0.6.0
177161## Update the conda recipe & release conda packages
178162
179163The conda-forge feedstock builds from the GitHub Release source archive
180- (not from PyPI). The bot ( ` regro-cf-autotick-bot ` ) does not always pick up
181- new releases automatically, so you may need to open the PR manually .
164+ (not from PyPI). There are three approaches to updating the feedstock,
165+ from least effort to most control .
182166
183- ### Fork and clone the feedstock
167+ ### Approach A: Wait for the bot
184168
185- ``` bash
186- gh repo fork conda-forge/cuda-core-feedstock --clone
187- cd cuda-core-feedstock
188- ```
169+ The ` regro-cf-autotick-bot ` periodically scans for new releases and opens
170+ a PR automatically. If nothing has changed in the build requirements, the
171+ bot's PR may be sufficient — review it and ask a feedstock maintainer
172+ to merge. However, the bot only
173+ updates the version and sha256. If build dependencies, import paths, or
174+ other recipe fields have changed, the bot's PR will be incomplete and CI
175+ will fail.
176+
177+ ### Approach B: Request a bot update
178+
179+ If the bot hasn't opened a PR, you can request one explicitly. Go to the
180+ feedstock's Issues tab and create a new "Bot commands" issue:
181+
182+ - ** Title** : ` @conda-forge-admin, please update version `
183+ - ** Body** : (leave empty)
189184
190- Optional: Set up remotes so your fork is named after your GitHub username:
185+ This triggers the bot to create a version-bump PR. As with approach A,
186+ review the PR and push additional fixes if needed.
187+
188+ ### Approach C: Manual PR
189+
190+ For full control — or when the bot's PR needs extensive fixes — open a
191+ PR manually from a fork.
192+
193+ ** Fork and clone** (one-time setup):
191194
192195``` bash
193- git remote rename origin < your-github-username>
194- git remote add origin https://github.com/conda-forge/cuda-core-feedstock.git
195- git fetch origin
196+ gh repo fork conda-forge/cuda-core-feedstock --clone
197+ cd cuda-core-feedstock
196198```
197199
198- ### Update ` recipe/meta.yaml `
199-
200- Create a branch and edit ` recipe/meta.yaml ` :
200+ ** Create a branch and edit ` recipe/meta.yaml ` :**
201201
202202``` bash
203203git checkout -b update-v0.6.0 origin/main
@@ -215,16 +215,16 @@ Update the following fields:
215215 | sha256sum
216216 ```
217217
218- 4 . ** Host dependencies** : Ensure all headers needed at build time are
219- listed. For example, v0.6.0 added a Cython C++ dependency on
220- ` nvrtc.h ` , requiring ` cuda-nvrtc-dev ` to be added to both ` host `
221- requirements and ` ignore_run_exports_from ` .
218+ 4 . ** Host dependencies** : Ensure all build- time dependencies are listed.
219+ For example, v0.6.0 added a Cython C++ dependency on ` nvrtc.h ` ,
220+ requiring ` cuda-nvrtc-dev ` in both ` host ` requirements and
221+ ` ignore_run_exports_from ` .
222222
2232235 . ** Test commands and descriptions** : Update any import paths or
224224 descriptions that changed (e.g. ` cuda.core.experimental ` ->
225225 ` cuda.core ` ).
226226
227- ### Open a PR
227+ ** Open a PR: **
228228
229229``` bash
230230git add recipe/meta.yaml
@@ -238,9 +238,12 @@ gh pr create \
238238 --body " Update cuda-core to version 0.6.0."
239239```
240240
241+ ### Notes
242+
241243The feedstock CI (Azure Pipelines) triggers automatically on the PR.
242- Monitor it for build failures — common issues include missing
243- build-time header dependencies (see host dependencies above).
244+ Monitor it for build failures — common issues include missing build-time
245+ header dependencies. Feedstock maintainers (listed in
246+ ` recipe/meta.yaml ` under ` extra.recipe-maintainers ` ) can merge the PR.
244247
245248---
246249
@@ -252,7 +255,16 @@ build-time header dependencies (see host dependencies above).
252255
253256## Finalize the announcement update
254257
255- * TBD*
258+ The release workflow creates a draft GitHub Release. To publish it:
259+
260+ 1 . Go to the repository on GitHub, click ** Tags** , then switch to the
261+ ** Releases** tab.
262+ 2 . Find the draft release for the new tag and click ** Edit** .
263+ 3 . Copy the body from a previous release as a starting point. It
264+ typically links to the release notes in the documentation (e.g.
265+ ` https://nvidia.github.io/cuda-python/cuda-core/latest/release/0.6.0-notes.html ` ).
266+ 4 . Update the link and any version references, then click
267+ ** Publish release** .
256268
257269---
258270
0 commit comments