From f71fceff65b96073e3245708b6f29e1eb9b0576b Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Wed, 12 Jul 2023 16:53:00 +0200 Subject: [PATCH] jobs: master/gerrit: use debian bookworm (12) Upgrade from debian 11 for master and debian 10 for gerrit verifications to using debian 12 for both. Previously we intentionally built against the older debian 10 version to ensure that our programs still build there. However it is easier to maintain the docker containers if we just use the most recent debian version for both and it makes the build environment more consistent - if a patch passes in gerrit verifications, we expect it to pass in master builds as well. And the other way around, I can just run CI of all master jobs when developing a change and assume that if they pass, gerrit verifications will run as well. As long as we provide binary packages in OBS for debian 11, 10, ... we will still notice if a build breaks on an older debian release. I think this is good enough given that it will probably not happen that often, but if we decide that we really want to ensure it still builds on older distros at gerrit-verification time then the more suitable place to add this would be in the deb-build verification test. It is more maintainable there, because the dependencies just get installed from the debian/control file, no need to add all of them to a docker container beforehand. The new container is debian-bookworm-build, see the docker-playground commit for reasoning why it is not debian-bookworm-jenkins. Related: OS#6057 Depends: docker-playground I49aaf62b5b97775f923453611df3b91354a640a0 Change-Id: I079e55a1325083714c8d39f922b2563e843fc0bc --- jobs/gerrit-verifications-dahdi.yml | 2 +- jobs/gerrit-verifications.yml | 11 +++++++---- jobs/master-builds-dahdi.yml | 2 +- jobs/master-builds.yml | 10 ++++++---- scripts/osmo-ci-docker-rebuild.sh | 10 +++++----- 5 files changed, 20 insertions(+), 15 deletions(-) diff --git a/jobs/gerrit-verifications-dahdi.yml b/jobs/gerrit-verifications-dahdi.yml index 88971b8a..5a8b3a6e 100644 --- a/jobs/gerrit-verifications-dahdi.yml +++ b/jobs/gerrit-verifications-dahdi.yml @@ -91,7 +91,7 @@ -e "KSRC=/linux" \ -v "$PWD/dahdi-linux:/build" \ -v "$PWD/linux:/linux" \ - "$USER/debian-buster-jenkins" \ + "$USER/debian-bookworm-build" \ timeout 10m su build -c /build/contrib/jenkins.sh publishers: diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index bdc0ea70..c41d2a38 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -81,8 +81,8 @@ -e CCACHE_DIR="/ccache" \ -e PATH="/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \ -v "$CCACHE_DIR:/ccache" \ - docker_img: '$USER/debian-buster-jenkins' - docker_img_erlang: '$USER/debian-bullseye-erlang' + docker_img: '$USER/debian-bookworm-build' + docker_img_erlang: '$USER/debian-bookworm-erlang' timeout_cmd: '/usr/bin/timeout 30m' cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh' gerrit_url: 'ssh://jenkins@gerrit.osmocom.org:29418' @@ -128,6 +128,7 @@ - libusrp - openbsc: + docker_img: '$USER/debian-bullseye-jenkins' # needs python2 (OS#5950) a1_name: SMPP a1: !!python/tuple [--enable-smpp] a2_name: MGCP @@ -343,7 +344,6 @@ - simtrace2 - osmo-opencm3-projects: - docker_img: '$USER/debian-bullseye-jenkins' cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh' pipeline_binpkgs: false @@ -357,6 +357,7 @@ - osmo-cbc - osmo-e1-recorder: + docker_img: '$USER/debian-bullseye-jenkins' # needs python2 (OS#5950) pipeline_binpkgs: false - gapk: @@ -367,7 +368,9 @@ - osmo-el2tpd: pipeline_binpkgs: false - - osmo-smlc + - osmo-smlc: + docker_img: '$USER/debian-bullseye-jenkins' # needs python2 (OS#5950) + - osmo-gbproxy - osmo-hnodeb diff --git a/jobs/master-builds-dahdi.yml b/jobs/master-builds-dahdi.yml index 8a39c323..3d263e31 100644 --- a/jobs/master-builds-dahdi.yml +++ b/jobs/master-builds-dahdi.yml @@ -67,7 +67,7 @@ -e "KSRC=/linux" \ -v "$PWD/dahdi-linux:/build" \ -v "$PWD/linux:/linux" \ - "$USER/debian-buster-jenkins" \ + "$USER/debian-bookworm-build" \ timeout 10m su build -c /build/contrib/jenkins.sh publishers: diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 5e962e83..4b1609a3 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -65,7 +65,7 @@ -e CCACHE_DIR="/ccache" \ -e PATH="/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \ -v "$CCACHE_DIR:/ccache" \ - docker_img: '$USER/debian-bullseye-jenkins' + docker_img: '$USER/debian-bookworm-build' timeout_cmd: '/usr/bin/timeout 30m' cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh' trigger: @@ -222,6 +222,7 @@ trigger: master-osmo-trx - openbsc: + docker_img: '$USER/debian-bullseye-jenkins' # needs python2 (OS#5950) a1_name: SMPP a1: !!python/tuple [--enable-smpp] a2_name: MGCP @@ -455,7 +456,6 @@ - docs_ftp.osmocom.org - osmo-opencm3-projects: git_base_url: https://gitea.osmocom.org/electronics - docker_img: '$USER/debian-bullseye-jenkins' cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish' email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org kredon@sysmocom.de ssh: @@ -464,11 +464,13 @@ - osmo-e1d - osmo-cbc - - osmo-e1-recorder + - osmo-e1-recorder: + docker_img: '$USER/debian-bullseye-jenkins' # needs python2 (OS#5950) - gapk - osmo-uecups - osmo-el2tpd - - osmo-smlc + - osmo-smlc: + docker_img: '$USER/debian-bullseye-jenkins' # needs python2 (OS#5950) - osmo-gbproxy - osmo-hnodeb diff --git a/scripts/osmo-ci-docker-rebuild.sh b/scripts/osmo-ci-docker-rebuild.sh index ced9ce85..08b7cf12 100755 --- a/scripts/osmo-ci-docker-rebuild.sh +++ b/scripts/osmo-ci-docker-rebuild.sh @@ -5,14 +5,14 @@ cd "$(dirname "$0")/.." case "$(arch)" in x86_64) + # debian-bullseye-jenkins: has python2 (OS#5950) docker_images_require \ - "debian-bullseye-erlang" \ - "debian-bullseye-jenkins" \ - "debian-buster-jenkins" + "debian-bookworm-build" \ + "debian-bookworm-erlang" \ + "debian-bullseye-jenkins" ;; arm*) docker_images_require \ - "debian-bullseye-jenkins-arm" \ - "debian-buster-jenkins-arm" + "debian-bookworm-build-arm" ;; esac