From dd56c009e3534eaa9001c0b11ecb59d4b16f0b96 Mon Sep 17 00:00:00 2001 From: Devan Carpenter Date: Mon, 15 Feb 2021 02:23:09 +0100 Subject: [PATCH] CI: use specific project versions Make the CI jobs consume the DEPENDENCIES file. More info: https://dev.pep.foundation/CID/Processes --- .gitlab-ci.yml | 31 ++++++++++++++++++++++++++----- scripts/debian10/Makefile | 14 +++++++++++++- 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ea90745..d25b920 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,8 +11,18 @@ centos8:build: extends: .make_in_docker stage: build variables: - CI_MAKE_TARGET: libpepadapter - CI_DISTRO_TARGET: centos8 + CI_DISTRO_TARGET: "centos8" + rules: + - if: '$CI_COMMIT_TAG !~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/' + +centos8:tagged-build: + extends: .make_in_docker + stage: build + variables: + CI_DISTRO_TARGET: "centos8" + TAGGED_BUILD: "true" + rules: + - if: '$CI_COMMIT_TAG =~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/' # Debian @@ -20,6 +30,17 @@ debian10:build: extends: .make_in_docker stage: build variables: - CI_MAKE_TARGET: libpepadapter - CI_DISTRO_TARGET: debian10 - DEBIAN_FRONTEND: noninteractive + CI_DISTRO_TARGET: "debian10" + DEBIAN_FRONTEND: "noninteractive" + rules: + - if: '$CI_COMMIT_TAG !~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/' + +debian10:tagged-build: + extends: .make_in_docker + stage: build + variables: + CI_DISTRO_TARGET: "debian10" + DEBIAN_FRONTEND: "noninteractive" + TAGGED_BUILD: "true" + rules: + - if: '$CI_COMMIT_TAG =~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/' diff --git a/scripts/debian10/Makefile b/scripts/debian10/Makefile index 8e10078..6d59421 100644 --- a/scripts/debian10/Makefile +++ b/scripts/debian10/Makefile @@ -1,15 +1,27 @@ +include ../../DEPENDENCIES +export +PEPENGINE_VERSION=${pEpEngine} CURRENT_DISTRO=$(shell basename $(shell pwd)) -LIBPEPADAPTER_VERSION=$(shell git rev-parse --short=8 HEAD) IMAGE_NAME=${DOCKER_REGISTRY_HOST}/pep-$(CURRENT_DISTRO)-libpepadapter DOCKERFILE=libpEpAdapter.$(CURRENT_DISTRO).Dockerfile +IS_TAGGED=${TAGGED_BUILD} +ifeq ($(IS_TAGGED), true) +# $CI_COMMIT_TAG is a predefined environment variable from Gitlab + LIBPEPADAPTER_VERSION=${CI_COMMIT_TAG} +else + LIBPEPADAPTER_VERSION=$(shell git rev-parse --short=8 HEAD) +endif all: -docker pull $(IMAGE_NAME):latest cd ../../ && docker build --build-arg CURRENT_DISTRO=$(CURRENT_DISTRO) \ --build-arg DOCKER_REGISTRY_HOST=${DOCKER_REGISTRY_HOST} \ + --build-arg PEPENGINE_VERSION=$(PEPENGINE_VERSION) \ --build-arg LIBPEPADAPTER_VERSION=$(LIBPEPADAPTER_VERSION) \ --cache-from $(IMAGE_NAME):latest \ --tag=$(IMAGE_NAME):$(LIBPEPADAPTER_VERSION) \ + --tag=$(IMAGE_NAME):${LIBPEPADAPTER_VERSION}_engine-${PEPENGINE_VERSION} \ --tag=$(IMAGE_NAME):latest \ -f scripts/${CURRENT_DISTRO}/$(DOCKERFILE) . docker push $(IMAGE_NAME):${LIBPEPADAPTER_VERSION} + docker push $(IMAGE_NAME):${LIBPEPADAPTER_VERSION}_engine-${PEPENGINE_VERSION} docker push $(IMAGE_NAME):latest