Skip to content

How to release a new version

Marek Czernek edited this page May 5, 2025 · 3 revisions

Each new commit to the master branch of this repository is automatically pushed to https://build.opensuse.org/project/show/systemsmanagement:Uyuni:healthcheck via our internal Jenkins automation (uyuni-healthcheck-master-2obs).

Preparing a new version of the packages

In order to prepare a new version and release of the mgr-health-check package and containers images packages, we need to:

Check unreleased commits

Execute tito report --untagged-commits to see what packages have unreleased commits, for example:

$ tito report --untagged-commits
Creating output directory: /tmp/tito
Scanning for packages that may need to be tagged...

----------------------------------------
health-check-grafana-image-0.1.1..HEAD:
3b0ce60afb34a0a95217ab10ff199e26d1eae704 Automatic commit of package [health-check-grafana-image] release [0.1.1].
28a5a2ca91aa5f37612bf03014c1ce82de1cebc0 Fix reference prefix for health-check containers
-------------------------------------
health-check-loki-image-0.1.1..HEAD:
50669165a5774e7fff93609e2b7ad8fa8922995c Automatic commit of package [health-check-loki-image] release [0.1.1].
28a5a2ca91aa5f37612bf03014c1ce82de1cebc0 Fix reference prefix for health-check containers
-----------------------------------------
health-check-promtail-image-0.1.1..HEAD:
3b15ea6cfd6af9893628d821bc0ceb52c8dfb12a Automatic commit of package [health-check-promtail-image] release [0.1.1].
28a5a2ca91aa5f37612bf03014c1ce82de1cebc0 Fix reference prefix for health-check containers
-------------------------------------------------------
health-check-supportconfig-exporter-image-0.1.1..HEAD:
88907a2adc0d442b971fbb1b5de8cdc78e1a80c9 Automatic commit of package [health-check-supportconfig-exporter-image] release [0.1.1].
28a5a2ca91aa5f37612bf03014c1ce82de1cebc0 Fix reference prefix for health-check containers
--------------------------------
mgr-health-check-0.1.2-0..HEAD:
dca553657694024de2b2578460a711cc6569607d Simply config methods by copying config sources
1ae929b887544ebf1f9ffce9440e666c83e49ac5 Apply changes made by isort on Python files
c1740a3c3f02d414244b38b835c392d6539c5cfe Write configs in temporary directories
0be145a1edb762102f4c44d8adcebca312cc5b2a Remove prometheus leftovers after dropping it
bf2d56c68ec8d74eae1f8ad0b4bd5c2d8ea9e0aa Fix health_check.__version__ during tito.tag

Create a new tag for each package

The packages are in either of these directories:

  • health-check/
  • containers/health-check-*-image/

To tag e.g. the mgr-health-check package, execute:

$ cd health-check
$ tito tag
Creating output directory: /tmp/tito
Loaded package specific tito.props overrides
Tagging new version of mgr-health-check: 0.1.2-0 -> 0.1.3-0
Created tag: mgr-health-check-0.1.3-0
   View: git show HEAD
   Undo: tito tag -u
   Push: git push origin HEAD && git push origin mgr-health-check-0.1.3-0
or Push: git push origin HEAD && git push origin --tags

Note

You should not need to manually modify the changelog generated by tito tag. For example, tito adds the - version ... line automatically.

After running tito tag, a new commit and tag are created. Review the changes:

$ git show HEAD

Then, push them to GitHub:

$ git push origin master
$ git push origin $TAG_NAME

The packages should be building at https://build.opensuse.org/project/show/systemsmanagement:Uyuni:healthcheck

2. Release the new version

In order to release a new stable version from https://build.opensuse.org/project/show/systemsmanagement:Uyuni:healthcheck to https://build.opensuse.org/project/show/systemsmanagement:Uyuni:healthcheck:Stable, we need to run "osc release" command:

# osc release systemsmanagement:Uyuni:healthcheck

This way, we get the binaries and containers images from "systemsmanagement:Uyuni:healthcheck" copied to "systemsmanagement:Uyuni:healthcheck :Stable"

Clone this wiki locally