From cb1068e6e62a6fbf5111d9dc042b2a4ad8ec2695 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20=C5=98ezn=C3=AD=C4=8Dek?= <246254@mail.muni.cz> Date: Mon, 29 Apr 2024 10:33:18 +0200 Subject: [PATCH] feat: push also general containers versions/tags --- .gitlab-ci.yml | 3 ++- ci/general-versions.sh | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100755 ci/general-versions.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7dd5875..b5bb804 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,6 +11,7 @@ before_script: - ci/toolset-container/install-pkgs.sh ci/requirements-toolset-container-build.apt - ${DOCKER_EXE} login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "${CI_REGISTRY}" - export VERSION=$(ci/version.sh CHANGELOG.md) +- export GENERAL_VERSIONS="$(ci/general-versions.sh ${VERSION} latest)" - cd ci/toolset-container # build and release container image @@ -34,7 +35,7 @@ release-image: script: | CONTAINER_IMAGE="$(head -1 container-release.uri)" ${DOCKER_EXE} pull "${CONTAINER_IMAGE}" - for i_container_image_tag in ${VERSION} latest; do + for i_container_image_tag in ${VERSION} ${GENERAL_VERSIONS}; do ${DOCKER_EXE} tag "${CONTAINER_IMAGE}" ${CI_REGISTRY_IMAGE}:${i_container_image_tag} ${DOCKER_EXE} push "${CI_REGISTRY_IMAGE}:${i_container_image_tag}" echo "${CI_REGISTRY_IMAGE}:${i_container_image_tag}" >> container-release.uri diff --git a/ci/general-versions.sh b/ci/general-versions.sh new file mode 100755 index 0000000..fce548e --- /dev/null +++ b/ci/general-versions.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +# Get general project versions +# Usage: general-versions.sh <specific-version> [additional-general-version] +# +# Example usage: +# * general-versions.sh 1.2.0 latest +# 1 +# 1.2 +# latest + +SPECIFIC_VERSION="$1" + +[ -n "${SPECIFIC_VERSION}" ] || \ + exit 2 + +shift + +# major version +echo "${SPECIFIC_VERSION}" | grep -Eo '^[0-9]+' +# major + major.minor versions +echo "${SPECIFIC_VERSION}" | grep -Eo '^[0-9]+.[0-9]+' + +for i_arg in "$@"; do + echo "$i_arg" +done -- GitLab