Releases¶
Release cycle¶
release every 3 months (at time
T
)T-11
weeks:all
add your favorite Issues to the next-rel columnT-10
weeks:Scrum Master
prep 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.)
T-8
weeks:Release Manager
dev meet (external/public)Use Kanban as starter
Move issues around based on input
Add milestone tags, for this release or future releases
T±0
:Release Manager
release!T+1
weeks:Scrum Master
retrospectiveset date for next release
Procedure¶
These notes enumerate the steps required every time we release a new version of Arbor.
Pre-release¶
Test the RC¶
Collect artifact from the above GA run. In case you want to manually want to trigger
ciwheel.yml
GA, overwrite theciwheel
branch 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__)’
Release¶
Make sure
ciwheel.yml
passes tests, produced working wheels, and nobody reported problems testing the RC. Make sureVERSION
does not end with-rc
or-dev
Tag and release: https://github.com/arbor-sim/arbor/releases
on cmdline: git tag -a TAGNAME
git push origin TAGNAME
Go to GH tags and click “…” and “Create release”
Go through merged PRs to come up with a changelog
Create tarball with
scripts/create_tarball ~/loc/of/arbor tagname outputfile
eg
scripts/create_tarball /full/path/to/arbor v0.5.1 ~/arbor-v0.5.1-full.tar.gz
[AUTOMATED] push to git@gitlab.ebrains.eu:arbor-sim/arbor.git
Download output of wheel action and extract (verify the wheels and source targz is in /dist)
Verify wheel
create venv: python -m venv env && source env/bin/activate
pip install arbor-0.5.1-cp39-cp39-manylinux2014_x86_64.whl
python -c ’import arbor; print(arbor.__config__)’
Upload to pypi
twine upload -r arborpypi dist*
Verify
create venv: python -m venv env && source env/bin/activate
pip install arbor==0.5.1 –verbose
python -c ’import arbor; print(arbor.__config__)’
Post release¶
Update spack package
first, update
spack/package.py
. The checksum of the targz is the sha256sum.Then, use the file to make PR here
In the same PR with the update to spack/package.py, might as well bump VERSION file.
Announce on our website
Add release for citation on Zenodo, add new ID to docs
Add tagged version of docs on ReadTheDocs (should happen automatically)
HBP internal admin
[TC Wiki](https://wiki.ebrains.eu/bin/view/Collabs/technical-coordination/EBRAINS%20components/Arbor/)
[KG](https://kg.ebrains.eu/search/instances/Software/80d205a9-ffb9-4afe-90b8-2f12819950ec) - [Update howto](https://github.com/bweyers/HBPVisCatalogue/wiki/How-to-start-software-meta-data-curation%3F#update-curated-software). - Supported file formats (ie [ContentTypes](https://humanbrainproject.github.io/openMINDS/v3/core/v4/data/contentType.html)), [details](https://github.com/HumanBrainProject/openMINDS_core/tree/v3/instances/data/contentTypes)
Send an update to the folk in charge of HBP Twitter if we want to shout about it
FZJ admin