From 89e55d2be6a60c84c4c97d41c88608cb2077f573 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Mon, 7 Oct 2024 16:26:33 +0200 Subject: [PATCH] Lowercase branches when constructing an image identifier Executing a pull request test from a branch with upper case letters ended up with this error: Command '/var/ARTIFACTS/work-behave-createrepo_crye9wxe5/plans/integration/behave-createrepo_c/tree/tmt-prepare-wrapper.sh-Build-testing-container-default-0' returned 1. stderr (2 lines) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Error: tag container-test-unistd-for-STDOUT_FILENO-master: invalid reference format: repository name must be lowercase Error: Failed to build the container. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The cause was that -c argument of container-test script was built from a "container-test-unistd-for-STDOUT_FILENO" branch name. The container-test -c value is then directly passed as an image identifier to podman build and podman run commands. Problem is that podman, as well as docker, does not allow upper-case characters in the OCI identifier. I wanted to circumvent it in the container-test script, to have a fix at one place. But one can pass a tag name there (foo/bar:tag) and the tag is handled case sensitively by docker. So this patch fixes it on the invocation side. NOTE: I could not really test it. I only tried a prepare phase of locally run TMT and it correctly transliterated the branch names. You should be able to fix by rerunning tests for . --- plans/integration/behave-createrepo_c.fmf | 2 +- plans/integration/behave-dnf.fmf | 2 +- plans/main.fmf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plans/integration/behave-createrepo_c.fmf b/plans/integration/behave-createrepo_c.fmf index 5e9205eee..ee341eb0e 100644 --- a/plans/integration/behave-createrepo_c.fmf +++ b/plans/integration/behave-createrepo_c.fmf @@ -5,4 +5,4 @@ execute: script: | $TMT_PLANS_DATA/ci-dnf-stack/container-test \ --suite createrepo_c \ - -c container-test-$PACKIT_SOURCE_BRANCH-$PACKIT_TARGET_BRANCH run + -c container-test-${PACKIT_SOURCE_BRANCH,,?}-${PACKIT_TARGET_BRANCH,,?} run diff --git a/plans/integration/behave-dnf.fmf b/plans/integration/behave-dnf.fmf index e58ff5515..58428603e 100644 --- a/plans/integration/behave-dnf.fmf +++ b/plans/integration/behave-dnf.fmf @@ -4,5 +4,5 @@ execute: how: tmt script: | $TMT_PLANS_DATA/ci-dnf-stack/container-test \ - -c container-test-$PACKIT_SOURCE_BRANCH-$PACKIT_TARGET_BRANCH run + -c container-test-${PACKIT_SOURCE_BRANCH,,?}-${PACKIT_TARGET_BRANCH,,?} run diff --git a/plans/main.fmf b/plans/main.fmf index f03c847c1..e9edf3878 100644 --- a/plans/main.fmf +++ b/plans/main.fmf @@ -27,7 +27,7 @@ prepare: how: shell script: | $TMT_PLANS_DATA/ci-dnf-stack/container-test \ - -c container-test-$PACKIT_SOURCE_BRANCH-$PACKIT_TARGET_BRANCH build \ + -c container-test-${PACKIT_SOURCE_BRANCH,,?}-${PACKIT_TARGET_BRANCH,,?} build \ --base $( echo "$@distro" | tr '-' ':') \ --container-arg="--env=COPR=$PACKIT_COPR_PROJECT" \ --container-arg="--env=COPR_RPMS=$PACKIT_COPR_RPMS"