@@ -300,3 +300,54 @@ corresponding document does not yet exist for PyTorch, but you can examine the
300
300
various comments in the
301
301
[ implementation] ( https://github.com/data-apis/array-api-compat/blob/main/array_api_compat/torch/_aliases.py )
302
302
to 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