Skip to content

Revisit and standardise tag and release process #157

Description

Context

Our current release process (as used in ANTS v3.2.0, ancillary-file-science v3.2.0 for example) involves creating a release branch off main called vA.B.x, making some changes related to that release, and tagging a commit on that branch. See for example v3.2.x.

The motivation for doing the release branch approach was that there are quite a few small changes that need to be made as part of the release. This is mostly hard-coding stuff to the release version, which hopefully we can set dynamically somehow. Additionally, having a release branch lets us make micro releases more easily, by committing to the vA.B.x branch and adding a new tag there.

Problem

We use setuptools-scm to dynamically set the version on install of ANTS. This is useful when not working from a tagged commit, as you'd get a version like 3.1.1.dev8+gff5fe287f. For this to work, the release tag must be reachable from the commit (underlying command is like git describe --tags). If the release tag is on a branch off main, then it is not reachable from future commits to main (and subsequent branches off main).

Proposition

We should consider other options for our tag and release process, in time for the 4.0 release. This should be applied across the following repositories:

The desirable features are:

  • Simplicity
  • Well-documented
  • Consistency across repos
  • Compatible with setuptools-scm

We should investigate how other projects work.

Metadata

Metadata

Labels

🛠️ infrastructureUpdates and additions to repository infrastructure

Type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions