Skip to content

Release process

boegel edited this page Dec 5, 2014 · 39 revisions

This page describes the steps to be taken to release a new version of EasyBuild.

Do make sure you have an account on PyPi, see her.

Step 0: Make sure EasyBuild is release-ready

To make sure that EasyBuild is ready to release, use the easybuild/scripts/prep_for_release.py script on each of the EasyBuild packages, as follows:

  • easybuild-framework: python easybuild/scripts/prep_for_release.py
  • easybuild-easyblocks: python ../easybuild-framework/easybuild/scripts/prep_for_release.py easybuild/easyblocks/__init__.py
  • easybuild-easyconfigs: python ../easybuild-framework/easybuild/scripts/prep_for_release.py setup.py

Next to running the prep_for_release.py script, the installed EasyBuild packages should be able to pass a full regression test.

If the output of this script doesn't report any serious issues, and a full regression test has passed, EasyBuild should be ready to release.

Step 1: Publish new release on PyPi

The following two steps should be repeated for each of the three EasyBuild subpackages (easybuild-framework, easybuild-easyblocks, easybuild-easyconfigs), as well as for the meta-package easybuild.

Note: make sure do perform the steps below in a pristine copy, i.e. not a working copy that may contain unfinished/untracked work!

Step 1.1: Register new version on PyPi

First, make sure the new version of an EasyBuild package gets registered on the Python Package Index (PyPi):

python setup.py register

The first time, you'll need to enter your PyPi login information, which will then be cached to $HOME/.pypirc.

Step 1.2: Upload new version to PyPi

To upload the new version of an EasyBuild package to PyPi, use:

python setup.py sdist upload

Step 2: Tag released version in git

You should also tag the version in git for each of the EasyBuild repositories, and push the tag to GitHub (replace 1.0 with the actual version number in the commands below):

git tag -a v1.0
git push origin v1.0

Step 3: Retest bootstrap script

curl -O https://raw.githubusercontent.com/hpcugent/easybuild-framework/develop/easybuild/scripts/bootstrap_eb.py
python bootstrap_eb.py $HOME/.local/easybuild

Step 3.1: Install EasyBuild with a bootstrapped EasyBuild

Try to install (an old) EasyBuild with bootstrapped EasyBuild module (should work since EasyBuild v1.8.2).

export MODULEPATH=$HOME/.local/easybuild/modules/all
module load EasyBuild
eb EasyBuild-1.0.0.eb --force

Step 3: Announce release

Finally, announce the newly released version through the various channels, i.e.:

Step 4: Update documentation

See http://easybuild.readthedocs.org and github.com/hpcugent/easybuild

Step 5: Update list of supported software

See List of supported software packages.

Step 6: Update release schedule

See Release schedule .

Clone this wiki locally