osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/33744 )
Change subject: jobs: master/gerrit: use debian bookworm (12) ......................................................................
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 --- M jobs/gerrit-verifications-dahdi.yml M jobs/gerrit-verifications.yml M jobs/master-builds-dahdi.yml M jobs/master-builds.yml M scripts/osmo-ci-docker-rebuild.sh 5 files changed, 56 insertions(+), 15 deletions(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, approved
diff --git a/jobs/gerrit-verifications-dahdi.yml b/jobs/gerrit-verifications-dahdi.yml index 88971b8..5a8b3a6 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 bdc0ea7..c41d2a3 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 8a39c32..3d263e3 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 5e962e8..4b1609a 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 ced9ce8..08b7cf1 100755 --- a/scripts/osmo-ci-docker-rebuild.sh +++ b/scripts/osmo-ci-docker-rebuild.sh @@ -5,14 +5,14 @@
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