-
Notifications
You must be signed in to change notification settings - Fork 29
NewRelease
-
Create a "new release" Issue. e.g. #337
-
Check out (or update local copy of) the master branch.
-
Ensure master is frozen.
-
Ensure that the release candidate works with a released version of fparser. As part of this, ensure that the line in the
PSyclone/.github/workflows/python-package.yml
file that separately installs the fparser submodule from the git submodule (pip install external/fparser
) is commented out. -
If this needs changing then you will have to go through a review process to check that the everything is working correctly. You should also ensure that the version of fparser pointed to by the git submodule (PSyclone/external/fparser) is consistent with the release of fparser specified in
setup.py
.cd submodule_name; git checkout master <or required version>; git pull; cd ..; git add submodule_name; git commit (if you want to at this point)
-
Ensure that the
install_requires
line insetup.py
specfies the precise version of fparser to use (e.g. 'fparser==0.0.14'). -
Use GitHub to create a draft new release: https://github.com/stfc/PSyclone/releases. It will auto-generate release notes if you ask it too but these will typically require editing to make them more user friendly.
-
Check that all PSyclone developers are happy with the draft release.
-
Update the version number in
src/psyclone/version.py
,doc/reference_guide/doxygen.config
. Also check that the copyright dates in the latter file as well as thedoc/{user_guide,developer_guide,reference_guide/source}/conf.py
files are correct. Commit. -
Regenerate PSyclone.pdf. Commit.
-
Update the changelog. Commit and push to GitHub.
-
Once the master branch on GitHub has all these changes, use GitHub to create the release using the draft created at step 7.
-
If read the docs fails then login and force rebuild manually.
-
Manually upload the release to pypi by doing the following: https://packaging.python.org/tutorials/packaging-projects. Currently the directions are:
<use python3>; pip install --upgrade setuptools wheel; <cd PSyclone>; python setup.py sdist bdist_wheel; pip install --upgrade twine; twine upload dist/*
-
Update PSyclone in upstream Spack:
-
Create a fork of the Spack repo (https://github.com/spack/spack);
-
Create a branch in this fork for the version update;
-
Use
spack edit py-psyclone
to update the PSyclone package; -
Create a pull request on the Spack repo for this branch;
-
-
Check that a) pypi has created a new release, b) read the docs stable and latest has documentation from the latest release.
-
Update Zenodo with the new release;
-
Tell lfric list and PSyclone teams we have a new release and summarise relevant new features.
-
Optionally: tell Karen, Holly, Marion that we have a new release and summarise interesting new features.
-
Close issue.