RSMTool Release ProcessΒΆ
This process is only meant for the project administrators, not users and developers.
Run tests/update_files.py to make sure that all test data in the new release have correct experiment ids and filenames. If any (non-model) files need to be changed this should be investigated before the branch is released.
Create a release branch on GitHub.
In that release branch, update the version numbers in
version.py
, update the conda-recipe, and update the README, if necessary.Build the new conda package locally on your mac using the following command:
conda build -c defaults -c conda-forge --python=3.6 --numpy=1.13 rsmtool
Convert the package for both linux and windows:
conda convert -p win-64 -p linux-64 <mac package tarball>
Upload all packages to anaconda.org using
anaconda upload
.Upload source package to PyPI using
python setup.py sdist upload
.Create pull requests on the rsmtool-conda-tester and rsmtool-pip-tester repositories to test the conda and PyPI packages on Linux and Windows.
Draft a release on GitHub while the Linux and Windows builds are running.
Once both builds have passed, make a pull request with the release branch to be merged into
master
and request code review.Once the build for the PR passes and the reviewers approve, merge the release branch into
master
.Make sure that the RTFD build for
master
passes.Tag the latest commit in
master
with the appropriate release tag and publish the release on GitHub.Do an accompanying release of RSMExtra (only needed for ETS users).
Update the RSMTool conda environment on the ETS linux servers with the latest packages for both RSMTool and RSMExtra.
Send an email around at ETS announcing the release and the changes.