Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

CTA dependencies

Repositories for CTA-related dependencies of CTA that are not part of (stable) public repositories.

Tagging

Tags are used to track and trigger the release of particular RPM versions. Commit tags are scoped per RPM, which means they must follow the format: <rpm-name>/<version>. Currently, two scopes are supported: mhvtl and opentelemetry-cpp. This means that the following are valid tags:

  • mhvtl/1.7-2
  • opentelemetry-cpp/1.20

The following are not:

  • test (does not follow the format: <rpm-name>/<version>)
  • my-rpm/1.7.2 (non-existent scope)
  • opentelemetry-cpp/v1.20 (v prefix still present)

A CI pipeline job will check that the commit follows the correct format and that the specified version agrees to what is specified in the pipeline variables. Note that if this verification job fails, you should delete the tag and recreate one with the correct format.

Tag Version Consistency

The version in the commit tag must be consistent with the versions in .gitlab-ci.yml. This is checked as follows:

  • For mhvtl, the version must be equal to MHVTL_TAG (without the _release postfix) or to MHVTL_COMMIT, depending on whether MHVTL_SOURCE is tag or commit.
  • For opentelementry-cpp, the version must be equal to OPENTELEMETRY_CPP_TAG without the leading v.

Updating Versions

To update the version of a dependency, you can first try to build it by running a manual pipeline with the corresponding custom pipeline variables:

  • EPOCH: Epoch to for all the generated RPMs. Must be updated incrementally and never removed.
  • mhvtl:
    • MHVTL_SRC_REPO: cloned repository to build the RPMs. Defaults to main mhvtl repo. Can be set to a fork to quickly test change before they make it to the ustream repo.
    • MHVTL_SOURCE: either tag or commit. Default: tag
    • MHVTL_COMMIT: commit to checkout when using commit as a source. Default %{nil}, do not change if not using the commit source.
    • MHVTL_TAG: tag to build the RPMs from. Defaults to latest tested tag and in use in CI and development environments.
  • opentelemetry-cpp:
    • OPENTELEMETRY_CPP_TAG: tag of the opentelemetry-cpp repo to build

The regular pipeline will only create local artifacts. If necessary, you can test out these artifacts manually. To publish them, update the versions in .gitlab-ci.yml and create the corresponding tag(s).