From 9dc012160c820e74dcedf02e9eac738c38821e97 Mon Sep 17 00:00:00 2001 From: Wolfgang Gehrhardt Date: Thu, 13 Nov 2025 13:33:28 +0100 Subject: [PATCH 1/4] chore(docker): update dind to 29 --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f1847f7..4567b7e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,7 +16,7 @@ stages: default: image: $CI_REGISTRY_IMAGE/$DOCKER_IMAGE services: - - name: docker:24-dind + - name: docker:29-dind alias: docker variables: DOCKER_TLS_CERTDIR: "" From 4764db1350aa86d1ac896928d2cf05a55567798b Mon Sep 17 00:00:00 2001 From: Wolfgang Gehrhardt Date: Thu, 13 Nov 2025 13:34:17 +0100 Subject: [PATCH 2/4] fix(ci): docker update needs command argument to disable TLS --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4567b7e..a6f3347 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,6 +20,7 @@ default: alias: docker variables: DOCKER_TLS_CERTDIR: "" + command: ["--tls=false"] tags: - "docker" interruptible: true From f84076d9acc42e66365f54dea343a50365c06cbd Mon Sep 17 00:00:00 2001 From: Wolfgang Gehrhardt Date: Thu, 13 Nov 2025 17:33:12 +0100 Subject: [PATCH 3/4] chore(ci): use common setup task for docker image and pipeline setup * cached docker image * default job timeout of 1 hour * dependency-config configurable via variable --- .gitlab-ci.yml | 77 ++++++++++++++++++++++---------------------------- 1 file changed, 33 insertions(+), 44 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a6f3347..e79ae85 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,52 +1,52 @@ --- variables: - DOCKER_HOST: "tcp://docker:2375" - DOCKER_IMAGE: samconf-ci:$CI_COMMIT_REF_SLUG + # Runner will discover the UID and GID of the user configured in the image used by the build container + # and will change the ownership of the working directory and files by running the chmod command in the + # predefined container (after updating sources, restoring cache and downloading artifacts). + FF_DISABLE_UMASK_FOR_DOCKER_EXECUTOR: "true" + SOURCES_URI: "https://github/elektrobit" + SAMCONF_DEPENDENCY_CONFIG: "ci/dependency_default.json" workflow: auto_cancel: on_new_commit: interruptible - -stages: - - docker-image - - build - - test - default: - image: $CI_REGISTRY_IMAGE/$DOCKER_IMAGE + tags: + - docker + image: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA + timeout: 1 hour + before_script: + - env | sort + +build-docker-image: + stage: .pre services: - - name: docker:29-dind - alias: docker + - name: $CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX/docker:29-dind variables: DOCKER_TLS_CERTDIR: "" + # hostname of dind container inside the private network has to be "docker" + alias: docker command: ["--tls=false"] - tags: - - "docker" - interruptible: true - -before_script: - - env | sort - -build-docker-image: - stage: docker-image - image: ubuntu:jammy - before_script: - - apt-get update - - apt-get install -y docker.io + image: $CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX/docker:latest script: - - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - - docker build -t $DOCKER_IMAGE -f ci/Dockerfile - --build-arg UID=$(id -u) --build-arg GID=$(id -g) - --build-arg ASMCOV_URI="$ASMCOV_URI" - ci/ - - docker tag $DOCKER_IMAGE $CI_REGISTRY_IMAGE/$DOCKER_IMAGE - - docker push $CI_REGISTRY_IMAGE/$DOCKER_IMAGE + - echo "$CI_REGISTRY_PASSWORD" | docker login $CI_REGISTRY -u $CI_REGISTRY_USER --password-stdin + - echo "$CI_DEPENDENCY_PROXY_PASSWORD" | docker login $CI_DEPENDENCY_PROXY_SERVER -u $CI_DEPENDENCY_PROXY_USER --password-stdin + + - docker build + --pull + --push + --cache-from $CI_REGISTRY_IMAGE:buildcache + --build-arg BUILDKIT_INLINE_CACHE=1 + --build-arg CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX=$CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX/ + --build-arg REPO=amd64 + --build-arg UBUNTU_RELEASE=jammy + --tag $CI_REGISTRY_IMAGE:buildcache + --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA + -f ci/Dockerfile . build-dependencies: stage: build - needs: - - build-docker-image script: - ci/install_deps.py -c ci/dependencies_emlix.json artifacts: @@ -57,7 +57,6 @@ build-dependencies: build-release: stage: build needs: - - build-docker-image - build-dependencies script: - ci/build.sh --ci Release @@ -71,7 +70,6 @@ build-release: build-debug: stage: build needs: - - build-docker-image - build-dependencies script: - ci/build.sh --ci Debug @@ -83,7 +81,6 @@ build-debug: unit-test-release: stage: test needs: - - build-docker-image - build-release - build-dependencies script: @@ -98,7 +95,6 @@ unit-test-release: unit-test-debug: stage: test needs: - - build-docker-image - build-debug - build-dependencies script: @@ -113,7 +109,6 @@ unit-test-debug: smoketest-test-release: stage: test needs: - - build-docker-image - build-release - build-dependencies script: @@ -126,7 +121,6 @@ smoketest-test-release: smoketest-test-debug: stage: test needs: - - build-docker-image - build-debug - build-dependencies script: @@ -139,7 +133,6 @@ smoketest-test-debug: code-lint: stage: test needs: - - build-docker-image - build-release - build-dependencies script: @@ -154,7 +147,6 @@ code-lint: benchmark: stage: test needs: - - build-docker-image - build-dependencies - build-release script: @@ -170,7 +162,6 @@ code-coverage: - "intelpt" - "docker" needs: - - build-docker-image - build-release - build-dependencies script: @@ -185,7 +176,6 @@ code-coverage: publish-kpis: stage: test needs: - - build-docker-image - build-release - code-coverage variables: @@ -196,7 +186,6 @@ publish-kpis: documentation: stage: build needs: - - build-docker-image - build-release - build-dependencies script: From ab3c60b9e565bab4371134498315a6b3f36acfb1 Mon Sep 17 00:00:00 2001 From: Armin Butscher Date: Mon, 17 Nov 2025 11:22:26 +0100 Subject: [PATCH 4/4] Update to 0.75.14 --- cmake/project.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/project.cmake b/cmake/project.cmake index a356cf1..a70731f 100644 --- a/cmake/project.cmake +++ b/cmake/project.cmake @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MIT -set(SAMCONF_VERSION 0.75.11) +set(SAMCONF_VERSION 0.75.14) # Attention: Aside from the version, as many things as possible in this file # should be put into functions, as this solves potential issues with commands