@@ -300,3 +300,54 @@ corresponding document does not yet exist for PyTorch, but you can examine the
300300various comments in the
301301[ implementation] ( https://github.com/data-apis/array-api-compat/blob/main/array_api_compat/torch/_aliases.py )
302302to see what functions and behaviors have been wrapped.
303+
304+
305+ ## Releasing
306+
307+ To release, first note that CuPy must be tested manually (it isn't tested on
308+ CI). Use the script
309+
310+ ```
311+ ./test_cupy.sh
312+ ```
313+
314+ on a machine with a CUDA GPU.
315+
316+ Once you are ready to release, create a PR with a release branch, so that you
317+ can verify that CI is passing. You must edit
318+
319+ ```
320+ array_api_compat/__init__.py
321+ ```
322+
323+ and update the version (the version is not computed from the tag because that
324+ would break vendorability). You should also edit
325+
326+ ```
327+ CHANGELOG.md
328+ ```
329+
330+ with the changes for the release.
331+
332+ Then create a tag
333+
334+ ```
335+ git tag -a <version>
336+ ```
337+
338+ and push it to GitHub
339+
340+ ```
341+ git push origin <version>
342+ ```
343+
344+ Check that the ` publish distributions ` action works. Note that this action
345+ will run even if the other CI fails, so you must make sure that CI is passing
346+ * before* tagging.
347+
348+ This does mean you can ignore CI failures, but ideally you should fix any
349+ failures or update the ` *-xfails.txt ` files before tagging, so that CI and the
350+ cupy tests pass. Otherwise it will be hard to tell what things are breaking in
351+ the future. It's also a good idea to remove any xpasses from those files (but
352+ be aware that some xfails are from flaky failures, so unless you know the
353+ underlying issue has been fixed, a xpass test is probably still xfail).
0 commit comments