From 36b84eb65c3da518f0014731d959852dae96d854 Mon Sep 17 00:00:00 2001 From: Anders Roxell Date: Fri, 26 Jun 2026 13:47:22 +0200 Subject: [PATCH 1/3] docker: stop rebuilding base-debian11 tuxmake now requires python3 >= 3.11. Debian 11 ships python 3.9, so installing the tuxmake package in the base-debian11 image fails and the base image build breaks. Set skip_build = True for base-debian11, like we already do for base-debian10. The published image stays in the registry, so the clang-11 to clang-14 images keep building on top of it. We just stop rebuilding the base image itself. Signed-off-by: Anders Roxell --- tuxmake/runtime/docker.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/tuxmake/runtime/docker.ini b/tuxmake/runtime/docker.ini index 7620d11..df7c5e2 100644 --- a/tuxmake/runtime/docker.ini +++ b/tuxmake/runtime/docker.ini @@ -98,6 +98,7 @@ hosts = amd64, arm64 rebuild = monthly [base-debian11] +skip_build = True kind = base base = docker.io/library/debian:bullseye-slim hosts = amd64, arm64 From 6338079a363428b18f9e633c7da3db2aeab0bbc0 Mon Sep 17 00:00:00 2001 From: Anders Roxell Date: Fri, 26 Jun 2026 14:12:09 +0200 Subject: [PATCH 2/3] docker: stop building gcc-11 gcc-11 is end of life upstream, see https://gcc.gnu.org/gcc-11/. Set skip_build = True so we no longer build the gcc-11 container. Switch the gcc build args test from gcc-11 to gcc-14 and regenerate the CI jobs. Signed-off-by: Anders Roxell --- support/docker/test/test_configure.sh | 6 ++--- support/docker/tuxmake-images.yml | 39 --------------------------- tuxmake/runtime/docker.ini | 1 + 3 files changed, 4 insertions(+), 42 deletions(-) diff --git a/support/docker/test/test_configure.sh b/support/docker/test/test_configure.sh index 238f6ee..3af0106 100644 --- a/support/docker/test/test_configure.sh +++ b/support/docker/test/test_configure.sh @@ -42,9 +42,9 @@ test_gcc() { assertArg 'BASE=$(DOCKER_REGISTRY)$(PROJECT)/base' 'PACKAGES="gcc g++"' } -test_gcc_11() { - get_build_args gcc-11 - assertArg 'BASE=$(DOCKER_REGISTRY)$(PROJECT)/base-debian' 'PACKAGES="gcc-11 g++-11"' +test_gcc_14() { + get_build_args gcc-14 + assertArg 'BASE=$(DOCKER_REGISTRY)$(PROJECT)/base-debian' 'PACKAGES="gcc-14 g++-14"' } test_arm64_gcc() { diff --git a/support/docker/tuxmake-images.yml b/support/docker/tuxmake-images.yml index 6d20841..321e95b 100644 --- a/support/docker/tuxmake-images.yml +++ b/support/docker/tuxmake-images.yml @@ -645,45 +645,6 @@ docker-images-clang_nightly_all-multiarch: - if: '$CI_PIPELINE_SOURCE == "schedule" && ($TUXMAKE_DOCKER_IMAGES == "daily" || $TUXMAKE_DOCKER_IMAGES == "clang_nightly_all")' -docker-images-gcc_11_all-amd64: - stage: build - extends: .docker - variables: - TAG: "-amd64" - script: - - "make publish-gcc_11_all" - tags: [saas-linux-medium-amd64] - needs: ['docker-images-base-multiarch'] - rules: - - if: '$CI_PIPELINE_SOURCE == "schedule" && ($TUXMAKE_DOCKER_IMAGES == "monthly" || $TUXMAKE_DOCKER_IMAGES == "gcc_11_all")' - - -docker-images-gcc_11_all-arm64: - stage: build - extends: .docker - variables: - TAG: "-arm64" - script: - - "make publish-gcc_11_all" - tags: [saas-linux-medium-arm64] - needs: ['docker-images-base-multiarch'] - rules: - - if: '$CI_PIPELINE_SOURCE == "schedule" && ($TUXMAKE_DOCKER_IMAGES == "monthly" || $TUXMAKE_DOCKER_IMAGES == "gcc_11_all")' - - -docker-images-gcc_11_all-multiarch: - stage: publish - extends: .docker - variables: - DOCKER_CLI_EXPERIMENTAL: "enabled" - ARCH_TAGS: "-amd64 -arm64" - script: - - "make publish-multiarch-gcc_11_all" - needs: ['docker-images-gcc_11_all-amd64', 'docker-images-gcc_11_all-arm64'] - rules: - - if: '$CI_PIPELINE_SOURCE == "schedule" && ($TUXMAKE_DOCKER_IMAGES == "monthly" || $TUXMAKE_DOCKER_IMAGES == "gcc_11_all")' - - docker-images-gcc_12_all-amd64: stage: build extends: .docker diff --git a/tuxmake/runtime/docker.ini b/tuxmake/runtime/docker.ini index df7c5e2..4f2fd7b 100644 --- a/tuxmake/runtime/docker.ini +++ b/tuxmake/runtime/docker.ini @@ -176,6 +176,7 @@ rebuild = monthly packages = gcc-10, g++-10 [gcc-11] +skip_build = True kind = gcc-build base = base-debian12 hosts = amd64, arm64 From 8b8f88d20ccb7bfa3d319e8328b3f5e1d4fcadae Mon Sep 17 00:00:00 2001 From: Anders Roxell Date: Fri, 26 Jun 2026 14:13:06 +0200 Subject: [PATCH 3/3] docker: stop building gcc-12 gcc-12 is end of life upstream, see https://gcc.gnu.org/gcc-12/. The default gcc image built riscv on gcc-12. Move riscv to gcc-13 first, then set skip_build = True for gcc-12 and regenerate the CI jobs. Signed-off-by: Anders Roxell --- support/docker/tuxmake-images.yml | 39 ------------------------------- tuxmake/runtime/docker.ini | 3 ++- 2 files changed, 2 insertions(+), 40 deletions(-) diff --git a/support/docker/tuxmake-images.yml b/support/docker/tuxmake-images.yml index 321e95b..d495703 100644 --- a/support/docker/tuxmake-images.yml +++ b/support/docker/tuxmake-images.yml @@ -645,45 +645,6 @@ docker-images-clang_nightly_all-multiarch: - if: '$CI_PIPELINE_SOURCE == "schedule" && ($TUXMAKE_DOCKER_IMAGES == "daily" || $TUXMAKE_DOCKER_IMAGES == "clang_nightly_all")' -docker-images-gcc_12_all-amd64: - stage: build - extends: .docker - variables: - TAG: "-amd64" - script: - - "make publish-gcc_12_all" - tags: [saas-linux-medium-amd64] - needs: ['docker-images-base-multiarch'] - rules: - - if: '$CI_PIPELINE_SOURCE == "schedule" && ($TUXMAKE_DOCKER_IMAGES == "monthly" || $TUXMAKE_DOCKER_IMAGES == "gcc_12_all")' - - -docker-images-gcc_12_all-arm64: - stage: build - extends: .docker - variables: - TAG: "-arm64" - script: - - "make publish-gcc_12_all" - tags: [saas-linux-medium-arm64] - needs: ['docker-images-base-multiarch'] - rules: - - if: '$CI_PIPELINE_SOURCE == "schedule" && ($TUXMAKE_DOCKER_IMAGES == "monthly" || $TUXMAKE_DOCKER_IMAGES == "gcc_12_all")' - - -docker-images-gcc_12_all-multiarch: - stage: publish - extends: .docker - variables: - DOCKER_CLI_EXPERIMENTAL: "enabled" - ARCH_TAGS: "-amd64 -arm64" - script: - - "make publish-multiarch-gcc_12_all" - needs: ['docker-images-gcc_12_all-amd64', 'docker-images-gcc_12_all-arm64'] - rules: - - if: '$CI_PIPELINE_SOURCE == "schedule" && ($TUXMAKE_DOCKER_IMAGES == "monthly" || $TUXMAKE_DOCKER_IMAGES == "gcc_12_all")' - - docker-images-gcc_13_all-amd64: stage: build extends: .docker diff --git a/tuxmake/runtime/docker.ini b/tuxmake/runtime/docker.ini index 4f2fd7b..56b7546 100644 --- a/tuxmake/runtime/docker.ini +++ b/tuxmake/runtime/docker.ini @@ -135,7 +135,7 @@ hosts = amd64, arm64 rebuild = monthly targets = x86_64, arm64, i386, arm, armhf, armv5, armel, mips, riscv, arc, parisc, powerpc, s390, sh, sparc target_skip = arc -target_bases = riscv:gcc-12, arc:gcc-9 +target_bases = riscv:gcc-13, arc:gcc-9 target_kinds = arc:arc target_hosts = mips:amd64, arc:amd64, parisc:amd64, powerpc:amd64, s390:amd64, sh:amd64, sparc:amd64 packages = gcc, g++ @@ -187,6 +187,7 @@ rebuild = monthly packages = gcc-11, g++-11 [gcc-12] +skip_build = True kind = gcc-build base = base-debian12 hosts = amd64, arm64