release every 3 months (at time
alladd your favorite Issues to the next-rel column
Scrum Masterprep dev meet (internal)
Update/trim next-release column in Kanban
Prepare agenda, include possible additions not covered by Kanban/Issues
Add milestone tags (nextver, nextver+1, etc.)
Add highlighted new features to RELEASE_NOTES.md
Release Managerdev meet (external/public)
Use Kanban as starter
Move issues around based on input
Add milestone tags, for this release or future releases
Update highlighted new features to RELEASE_NOTES.md
allreserve week for wrapping up PRs and review.
Have a look at Python release schedule, and time Arbor release optimally with new Python minor version. It is nice to generate wheels for the new minor as soon as minor is released.
set date for next release
These notes enumerate the steps required every time we release a new version of Arbor.
Test the RC¶
Collect artifact from the above GA run. In case you want to manually want to trigger
ciwheel.ymlGA, overwrite the
ciwheelbranch with the commit of your choosing and force push to Github.
twine upload -r testpypi dist/*
Ask users to test the above, e.g.:
python -m venv env && source env/bin/activate pip install numpy pip install -i https://test.pypi.org/simple/ arbor==0.6-rc python -c 'import arbor; print(arbor.__config__)'
ciwheel.ymlpasses tests, produced working wheels, and nobody reported problems testing the RC. Make sure
VERSIONdoes not end with
Create tarball with
scripts/create_tarball ~/loc/of/arbor tagname outputfile
scripts/create_tarball /full/path/to/arbor v0.5.1 ~/arbor-v0.5.1-full.tar.gz
Tag and release: https://github.com/arbor-sim/arbor/releases
on cmdline: git tag -a TAGNAME
git push upstream TAGNAME
Go to GH tags and click “…” and “Create release”
Go through merged PRs to come up with a changelog Or categorize/edit Github’s autogenerated release notes.
add tarball to release, created in previous step.
Download output of wheel action associated to this release commit and extract (verify the wheels and source targz is in /dist)
Of course, the above action must have passed the tests successfully.
Upload to TEST pypi & verify
twine upload -r arborpypi dist/* python -m venv env && source env/bin/activate pip install numpy pip install -i https://test.pypi.org/simple/ arbor==0.6 python -c 'import arbor; print(arbor.__config__)'
Upload to pypi & verify
twine upload -r arborpypi dist/* python -m venv env && source env/bin/activate pip install arbor python -c 'import arbor; print(arbor.__config__)'
Update spack package / Ebrains Lab
In the same PR with the update to spack/package.py, bump VERSION file.
e.g. to 0.6.1-dev
In the same PR with the update to spack/package.py, add new Zenodo badge/link.
Start a new release on Zenodo, this allocated a DOI, but you don’t have to finish it right away. OTOH, you can already make and upload the tarball in step 1.
Update and submit Zenodo release if necessary.
Announce on our website
[AUTOMATED] Add tagged version of docs on ReadTheDocs
HBP internal admin
Previous update as template: https://github.com/bweyers/HBPVisCatalogue/issues/480
Supported file formats
Send an update to the folk in charge of HBP Twitter if we want to shout about it