Skip to content

How to create a new release

Jason.Yu edited this page Sep 30, 2021 · 6 revisions

Creating a new release consists of the following steps:

  1. Preparing release branch
  2. Merging
  3. PyPI deployment

Preparing the release branch

Release types

The [semantic versioning] is used to label the version. i.e. version labels have the form v..-


  • Pre-release: v0.1.1 to v0.2.0-rc.1, the pre-release is useful for demo the new feature before the ironing up and DRY codebase and workflows. Only do pre-release with update the minor version label, otherwise it is to much effort to maintain for every small patch release.
  • Patch release: v0.1.1 to v0.1.2, only bug fixes
  • Minor release: v3.2.1 to v3.3.0, bug fixes and new features that maintain backwards compatibility
  • Major release: v3.2.1 to v4.0.0, bug fixes and new features that break backwards compatibility

PyPI deployment

The PyPY deployment of this package is take after by the Github action describe in file .github/workflows/publish-on-pypi.yml. Since the fortran code for fermi energy calculation is included in the code base, the build source distribution step which require a manylinux-build image is the main difference from the regular build method.

The action will detect the name of push tag, when it matches with the v[0-9]+.[0-9]+.[0-9]+* the action will run and deploy the new version to PyPI. Therefore all version labels mentioned in the Preparing the release branch will trigger this deployment action.

Clone this wiki locally