11# Releasing
22
3- To release, first note that CuPy must be tested manually (it isn't tested on
4- CI). Use the script
3+ To release, first make sure that all CI tests are passing on ` main ` .
4+
5+ Note that CuPy must be tested manually (it isn't tested on CI). Use the script
56
67```
78./test_cupy.sh
@@ -25,25 +26,34 @@ CHANGELOG.md
2526
2627with the changes for the release.
2728
28- Then create a tag
29+ Once everything is ready, create a tag
2930
3031```
3132git tag -a <version>
3233```
3334
35+ (note the tag names are not prefixed, for instance, the tag for version 1.5 is
36+ just ` 1.5 ` )
37+
3438and push it to GitHub
3539
3640```
3741git push origin <version>
3842```
3943
40- Check that the ` publish distributions ` action works. Note that this action
41- will run even if the other CI fails, so you must make sure that CI is passing
42- * before* tagging.
44+ Check that the ` publish distributions ` action on the tag build works. Note
45+ that this action will run even if the other CI fails, so you must make sure
46+ that CI is passing * before* tagging.
4347
4448This does mean you can ignore CI failures, but ideally you should fix any
4549failures or update the ` *-xfails.txt ` files before tagging, so that CI and the
4650cupy tests pass. Otherwise it will be hard to tell what things are breaking in
4751the future. It's also a good idea to remove any xpasses from those files (but
4852be aware that some xfails are from flaky failures, so unless you know the
49- underlying issue has been fixed, a xpass test is probably still xfail).
53+ underlying issue has been fixed, an xpass test is probably still xfail).
54+
55+ If the publish action fails for some reason and didn't upload the release to
56+ PyPI, you will need to delete the tag and try again.
57+
58+ After the PyPI package is published, the conda-forge bot should update the
59+ feedstock automatically.
0 commit comments