-
-
Notifications
You must be signed in to change notification settings - Fork 69
ReleaseManagement
Just van den Broecke edited this page Aug 11, 2022
·
11 revisions
The following are step by step instructions on how to create a release.
Make sure the source builds and works locally also with Docker, and the docs build with no errors.
Run flake8
in root to ensure code follows project Python coding conventions.
Make sure the source passes GitHub Actions CI and unit tests, also for the Docker Image.
Each release is related to a GitHub Milestone named Version x.y.z. It contains all (closed) issues and PRs tagged with that Milestone. So that Milestone is basically the Changelog for the release.
Actions:
- Go to the applicable Milestone
- Make sure 100% of the issues in the Milestone are closed.
- Move any open issues to future Milestone(s).
- Close the Milestone.
Create a release tag against master:
- Update
VERSION
withx.y.z
- (both
GeoHealthCheck/__init__.py
anddocs/conf.py
useVERSION
, no need to update these) - Add upgrade notes section to
docs/install.py
. As a minimum add a link to the closed Milestone (see above) - In particular mention DB-upgrade specifics if present. Docker Images will automatically do Alembic DB-upgrades
- Commit the above updates
# in branch master
git add .
git commit -m 'update release info for VERSION x.y.z'
git push origin master # or branch if releasing from a branch
- Wait for the complete CI (Tests and Docker
latest
build/push) to finish with success. Follow in Actions. - Check if the Docker Image tagged
latest
is present on DockerHub - Check if the demo site demo.geohealthcheck.org is successfully reloaded, bottom of page: "Powered by GeoHealthCheck x.y.z".
- Check if the documentation is rebuilt on RTD: https://docs.geohealthcheck.org/en/latest/install.html#upgrade-notes-vx-y-z
Release tags are in the format x.y.z
If releasing from master:
git tag -a x.y.z -m 'tagging release x.y.z'
git push --tags
If releasing from branch b-x.y.z
:
git checkout b-x.y.z
git tag -a x.y.z -m 'tagging x.y.z'
git push --tags
Create a release on GitHub.
- Go to https://github.com/geopython/GeoHealthCheck/releases
- Click 'Draft a new release'
- Under 'Tag Version' add the relevant release tag (x.y.z)
- Release title should be
x.y.z
- Release description should be:
-
GeoHealthCheck x.y.z has been released. See the [Milestone](URL) for more information.
-
URL
should be a link to the Milestone
-
-
- GitHub CI will also automatically build/push a Docker Image to DockerHub tagged with the release number on the 'release Event'.
- Wait to see that Docker Image appear on DockerHub
- Update Gitter Channel list:
The GeoHealthCheck team announces the release of GeoHealthCheck x.y.z.
See <milestone> link for specifics.