release.mk
show-version
Synopsis: make show-version
Hooks: none
Variables:
Variable |
Description |
|---|---|
RELEASE_CONTEXT |
<directory holding .release file> |
show current calculated $VERSION.
RELEASE_CONTEXT defaults to the root folder of the project, but can be overriden
if .release files are required per image to build. See ska-tango-images for an example.
bump-patch-release
Synopsis: make bump-patch-release
Hooks: none
Variables:
Variable |
Description |
|---|---|
RELEASE_CONTEXT |
<directory holding .release file> |
Increment the current semver patch level using the current calculated $VERSION.
RELEASE_CONTEXT defaults to the root folder of the project, but can be overriden
if .release files are required per image to build. See ska-tango-images for an example.
NOTE all bump-*-release targets call set-release which has pre and post hooks
bump-minor-release
Synopsis: make bump-minor-release
Hooks: none
Variables:
Variable |
Description |
|---|---|
RELEASE_CONTEXT |
<directory holding .release file> |
Increment the current semver minor level, and reset patch level to 0 using
the current calculated $VERSION.
RELEASE_CONTEXT defaults to the root folder of the project, but can be overriden
if .release files are required per image to build. See ska-tango-images for an example.
NOTE all bump-*-release targets call set-release which has pre and post hooks
bump-major-release
Synopsis: make bump-major-release
Hooks: none
Variables:
Variable |
Description |
|---|---|
RELEASE_CONTEXT |
<directory holding .release file> |
Increment the current semver major level, and reset minor and patch levels to 0 using
the current calculated $VERSION.
RELEASE_CONTEXT defaults to the root folder of the project, but can be overriden
if .release files are required per image to build. See ska-tango-images for an example.
NOTE all bump-*-release targets call set-release which has pre and post hooks
bump-rc
Synopsis: make bump-rc
Hooks: none
Variables:
Variable |
Description |
|---|---|
RELEASE_CONTEXT |
<directory holding .release file> |
Increment the current semver release candidate level using the current calculated $VERSION.
RELEASE_CONTEXT defaults to the root folder of the project, but can be overriden
if .release files are required per image to build. See ska-tango-images for an example.
NOTE the bump-rc target calls set-release which has pre and post hooks
rc-to-release
Synopsis: make rc-to-release
Hooks: none
Variables:
Variable |
Description |
|---|---|
RELEASE_CONTEXT |
<directory holding .release file> |
Transform the current semver release candidate level version (X.Y.Z-rcN) to a
semver release version (X.Y.Z) using the current calculated $VERSION.
RELEASE_CONTEXT defaults to the root folder of the project, but can be overriden
if .release files are required per image to build. See ska-tango-images for an example.
NOTE the rc-to-release target calls set-release which has pre and post hooks
python-set-release
Synopsis: make python-set-release
Hooks: python-pre-set-release, python-post-set-release
Set the Python package version in pyproject.toml based on the current calculated $VERSION.
docs-set-release
Synopsis: make docs-set-release
Hooks: docs-pre-set-release, docs-post-set-release
Set the Documentation version in conf.py based on the current calculated $VERSION.
helm-update-deps
Synopsis: make helm-update-deps
Hooks: helm-pre-update-deps, helm-post-update-deps
Set the versions of Helm Chart dependences ./charts/**/Chart.yaml based
on the current calculated $VERSION.
helm-set-release
Synopsis: make helm-set-release
Hooks: helm-pre-set-release, helm-post-set-release
Set the Helm Chart versions and appVersion in ./charts/**/Chart.yaml based
on the current calculated $VERSION.
js-set-release
Synopsis: make js-set-release
Hooks: js-pre-set-release, js-post-set-release
Set the JS package version in package.json based on the current calculated $VERSION.
conan-set-release
Synopsis: make conan-set-release
Hooks: conan-pre-set-release, conan-post-set-release
Set the Conan package version in conanfile.py based on the current calculated $VERSION.
check-release
Synopsis: make check-release
Hooks: none
Variables:
Variable |
Description |
|---|---|
RELEASE_CONTEXT |
<directory holding .release file> |
Check if there is a git tag for the current calculated $VERSION.
create-git-tag
Synopsis: make create-git-tag
Hooks: none
Variables:
Variable |
Description |
|---|---|
RELEASE_CONTEXT |
<directory holding .release file> |
AUTO_RELEASE |
<true or false>. Used to skip interactive prompts. Default false. |
Create a git tag for the current calculated $VERSION.
Setting AUTO_RELEASE to true will automatically commit the messages without JIRA ID and prompts.
git-push-tag
Synopsis: make git-push-tag
Hooks: none
Push outstanding changes to git including tags.
set-release
Synopsis: make set-release TAG=<semver string>
Hooks: pre-set-release, post-set-release
Variables:
Variable |
Description |
|---|---|
TAG |
<semantic version string> - default is calculated VERSION based on .release |
Utility target for updating .release file - not normally used directly.
check-status
Synopsis: make check-status
Hooks: none
Check for outstanding changes in the current git repository. This excludes changes to version update files such as .release, Chart.yaml, and pyproject.tonl
generate-changelog
Synopsis: generate-changelog
Hooks: none
Variables:
Variable |
Description |
|---|---|
OCI_IMAGES_TO_PUBLISH |
<default: OCI_IMAGES> - list of oci images to publish |
HELM_CHARTS_TO_PUBLISH |
<default: HELM_CHARTS> - list of helm charts to publish |
RAW_PKGS_TO_PUBLISH |
<default: RAW_PKGS> - list of raw packages to publish |
JIRA_USERNAME |
<default in pipelines: marvin username> - used for Changelog generation |
JIRA_PASSWORD |
<default in pipelines: marvin password> - used for Changelog generation |
JIRA_URL |
<default in pipelines: https://jira.skatelescope.org> - used for Changelog generation |
CHANGELOG_FILE |
<default : CHANGELOG.md> - name of the changelog file |
CHANGELOG_CONFIG |
<default: .chglog/config.yml> - location of the chglog config file |
CHANGELOG_TEMPLATE |
<default : .chglog/CHANGELOG.tpl.md> - location of the chglog template file |
Appends to the CHANGELOG_FILE the changes from the tag before CI_COMMIT_TAG until CI_COMMIT_TAG With that file creates a release on gitlab under CI_COMMIT_TAG with the artefacts appended as assets to the release