-
Notifications
You must be signed in to change notification settings - Fork 491
Release Process
Jean-Christophe Fillion-Robin edited this page Jul 18, 2023
·
3 revisions
A core developer should follow these steps to create a release of CTK.
The release is named according to the YYYY.0M.0D.MICRO
date-based versioning scheme, as documented at calver.org.
-
Make sure that all CI tests are passing.
-
Download the source code:
cd /tmp && \ git clone git@github.com:commontk/CTK && \ cd CTK
-
If applicable, checkout the commit from which the release will be tagged.
-
List all tags sorted by version:
git fetch --tags && \ git tag -l | sort -V
-
Set the next release tag in the format
YYYY.0M.0D
:release_commit=HEAD && \ release_tag=$(git log --format=%cs ${release_commit} | head -n 1 | tr "-" ".") && \ echo "release_tag [${release_tag}]" # If creating a patch release, append `.N` with `N >= 1`
-
Tag the release:
git tag --sign -m "CTK ${release_tag}" ${release_tag} ${release_commit}
We recommend using a GPG signing key to sign the tag.
-
Publish the release tag:
git push origin ${release_tag}
-
Create a GitHub release based on the new tag.