Release Process

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