Skip to content
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.

Step 1

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.

Step 2

Make sure the source passes GitHub Actions CI and unit tests, also for the Docker Image.

Step 3

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.

Step 4

Create a release tag against master:

  • Update VERSION with x.y.z
  • (both GeoHealthCheck/__init__.py and docs/conf.py use VERSION, 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

Release Tagging

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

Step 5

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

Step 6

  • Update Gitter Channel list:
The GeoHealthCheck team announces the release of GeoHealthCheck x.y.z.
See <milestone> link for specifics.
Clone this wiki locally