-
Niels Alexander Buegel authoredNiels Alexander Buegel authored
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 toMHVTL_COMMIT
, depending on whetherMHVTL_SOURCE
istag
orcommit
. - For opentelementry-cpp, the version must be equal to
OPENTELEMETRY_CPP_TAG
without the leadingv
.
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
: eithertag
orcommit
. Default:tag
-
MHVTL_COMMIT
: commit to checkout when usingcommit
as a source. Default%{nil}
, do not change if not using thecommit
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).