Release Process#
Overview#
In general, work is carried out in the development branches of the main NeuroML repositories and these are merged to master branches on a new major release, e.g. move from NeuroML v2.1 to v2.2.
A single page showing the status of the automated test as well as any open Pull Requests on all of the core NeuroML repositories can be found here.
Steps for new major release#
These are the steps required for a new release of the NeuroML development tools.
Task |
Version this was last done |
---|---|
Commit final stable work in development branches |
v2.3 |
Make releases (not just tag - generates DOI) previous development versions of individual repos |
v2.3 |
Increment all version numbers - to distinguish release from previous development version |
v2.3 |
Test all development branches - rerun GitHub Actions at least once |
v2.3 |
Recheck all READMEs & docs |
v2.3 |
Run & check test.py in NeuroML2 repo |
v2.3 |
Check through issues for closed & easily closable ones |
v2.3 |
Update version in documentation pages |
v2.3 |
Update HISTORY.md in NeuroML2 |
v2.3 |
pylems: Update README; Merge to master; Tag release; Release to pip |
v2.3 |
libNeuroML: Update README; Retest; Merge to master; Tag release; Release to pip; Check installation docs |
v2.3 |
pyNeuroML: Update Readme; Tag release; Release to pip |
v2.3 |
NeuroMLlite: Update Readme; Tag release; Release to pip |
v2.3 |
Java repositories (jNeuroML, org.neuroml.* etc.): Merge development to master; Tag releases |
v2.3 |
Rebuild jNeuroML & commit to jNeuroMLJar and use latest for jNeuroML for OMV |
v2.3 |
Add new binary release on NeuroML/jNeuroML |
v2.3 |
Update version used in neuroConstruct |
v2.3 |
Update docs on http://docs.neuroml.org |
v2.3 |
Update version on COMBINE website |
v2.2 |
ANNOUNCE (mailing list, Twitter) |
v2.2 |
Increment version numbers in all development branches |
v2.3 |
DOI on Zenodo |
v2.3 |
Update NeuroML milestones |
v2.2 |
New release of neuroConstruct |
v2.3 |
Test toolchain on Windows… |
v2.0 |