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

  1. Make sure that all CI tests are passing.

  2. Download the source code:

    cd /tmp && \
    git clone git@github.com:commontk/CTK && \
    cd CTK
  3. If applicable, checkout the commit from which the release will be tagged.

  4. List all tags sorted by version:

    git fetch --tags && \
    git tag -l | sort -V
  5. 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`
  6. 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.

  7. Publish the release tag:

    git push origin ${release_tag}
  8. Create a GitHub release based on the new tag.

Clone this wiki locally