1
1
# Releasing
2
2
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
5
6
6
7
```
7
8
./test_cupy.sh
@@ -25,25 +26,34 @@ CHANGELOG.md
25
26
26
27
with the changes for the release.
27
28
28
- Then create a tag
29
+ Once everything is ready, create a tag
29
30
30
31
```
31
32
git tag -a <version>
32
33
```
33
34
35
+ (note the tag names are not prefixed, for instance, the tag for version 1.5 is
36
+ just ` 1.5 ` )
37
+
34
38
and push it to GitHub
35
39
36
40
```
37
41
git push origin <version>
38
42
```
39
43
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.
43
47
44
48
This does mean you can ignore CI failures, but ideally you should fix any
45
49
failures or update the ` *-xfails.txt ` files before tagging, so that CI and the
46
50
cupy tests pass. Otherwise it will be hard to tell what things are breaking in
47
51
the future. It's also a good idea to remove any xpasses from those files (but
48
52
be 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