Release Procedure¶
These notes enumerate the steps required every time we release a new version of Arbor.
Pre-release¶
Release¶
Make sure no errors were encountered in the pre-release phase, working wheels were produced, and were installable from Test.PyPI.org and that no problems were reported.
Change
VERSION. Make sure does not end with-rcor-dev. Push to the draft PR opened earlier for the rc.When tests pass, merge the PR.
Tag
commit and either reuse the draft PR for the RC, or open a new one.
once merged, make and push tag.
on cmdline:
git tag -a TAGNAMEgit push upstream TAGNAME
Upload to pypi & verify
Get the wheels from test PyPI or the GitHub Action that produced the release artifacts. Make sure you have pip installed
twineand have your~/.pypircfile setup with the right token (see docs).twine upload -r arborpypi dist/* python -m venv env && source env/bin/activate pip install arbor python -c 'import arbor; print(arbor.__config__)'
Create GitHub Release: https://github.com/arbor-sim/arbor/releases
The Github action that produced the release artifacts should have prepared a draft Release.
Update body text with
CHANGELOG.md(Probably: delete the GitHub draft release for the
-rc)If no Github Release was automatically drafted:
Go to GH tags and click “…” and “Create release”
Categorize/edit Github’s autogenerated release notes (alternatively, go through merged PRs to come up with a changelog).
Manually build full tarball:
scripts/create_tarball ~/loc/of/arbor tagname outputfileeg
scripts/create_tarball /full/path/to/arbor v0.5.1 ~/arbor-v0.5.1-full.tar.gz
Post Release¶
Start a new release on Zenodo. This allocated a DOI, but you don’t have to finish it right away. Add new Zenodo DOI badge/link to
CITATION.bibanddocs/index.rst.Update Zenodo with authors and changelog created in the previous step and submit.
Make a new PR setting
VERSIONto the next with a trailing-dev. E.g. if you just released3.14.15, changeVERSIONto3.15.16-dev. Make sure the number portion always consists of a triple. Shorter versions are uninstallable by Spack (spack install arbor@0.8will install v0.8.1, due to anything shorter than a triple being interpreted as a version range).Include changes such as to
CITATIONS,doc/index.rstin postrel PR. Copy Zenodo BibTex export toCITATIONS.
Update
scripts/check-all-tags.shto check the current tag.Update spack package / Ebrains Lab / Opensourcebrain
Spack upstream: PR here
Ebrains Lab: MR here
OSB: update requirementsfile if needed.
Make sure that Notebooks work on the version that their image is built with.
Announce on our website
[AUTOMATED] Add tagged version of docs on ReadTheDocs
FZJ admin
GUI¶
Release automation is a bit more advanced for Arbor GUI: the act of pushing a new tag, auto-drafts a release with the relevant artifacts. The post-release steps mentioned above are largely the same. A list of the places where an update must be entered: