-
Notifications
You must be signed in to change notification settings - Fork 33
NewRelease
-
Create a "new release" Issue. e.g. #337
-
Create a release candidate PR and ensure that it works with a released version of fparser. As part of this:
-
Ensure that the line in the
PSyclone/.github/workflows/python-package.ymlfile that separately installs the fparser submodule from the git submodule (pip install external/fparser) is commented out. -
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_requiresline insetup.pyspecifies the precise version of fparser to use (e.g. 'fparser==0.0.14'). -
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.pyfiles are correct. -
Temporarily remove the trailing "-dev" from the version strings in src/psyclone/version.py. i.e. change:
to__SHORT_VERSION__ = f"{__MAJOR__:d}.{__MINOR__:d}-dev" __VERSION__ = f"{__MAJOR__:d}.{__MINOR__:d}.{__MICRO__:d}-dev"
__SHORT_VERSION__ = f"{__MAJOR__:d}.{__MINOR__:d}" __VERSION__ = f"{__MAJOR__:d}.{__MINOR__:d}.{__MICRO__:d}"
-
-
Go through the standard review process. Once approved the changelog should be updated with the release number and date.
-
Use GitHub to create a draft new release: https://github.com/stfc/PSyclone/releases. It will create a new tag with the release number and it will auto-generate release notes if you ask it too but these will typically require editing to make them more user friendly.
-
Once the master branch on GitHub has all these changes from step 3 (and completed the CI) and all PSyclone developers are happy with the draft release in step 4, use GitHub to create the release using the draft.
-
If read the docs fails then login and force rebuild manually.
-
A 'Upload Release to PyPI' action should automatically be submitted, but this needs to be manually approved. If if fails, follow the documentation in: https://packaging.python.org/tutorials/packaging-projects.
-
Check that a) pypi has created a new release, b) read the docs stable and latest has documentation from the latest release.
-
Update PSyclone in upstream Spack and Conda:
-
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-psycloneto update the PSyclone package; -
Create a pull request on the Spack repo for this branch;
-
-
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.
After the release:
-
Revert your changes to
version.py; -
Revert your changes for fparser.