From a788a8b14f15f32710444226d48207d745c234d2 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Tue, 24 Jan 2023 14:32:15 +0100 Subject: [PATCH] jobs/master,gerrit: add docker_run_ccache Put arguments for ccache into a new docker_run_ccache variable, and use it with all projects where it makes sense to use ccache. Other projects use docker_run without the ccache parameters again: * osmo_ss7, osmo_dia2gsup, pysim: Erlang/Python projects * osmo-e1-hardware, ice40-usbtrace, no2bootloader, osmo-opencm3-projects: Don't use the default docker image * osmo-gsm-tester: Only builds manuals (jenkins-build-manuals.sh) Jenkins job builder's variable substitution doesn't replace {docker_run} inside docker_run_ccache when used in cmd, so just duplicate the lines. Related: OS#5848 Change-Id: Ib6d7f309b972979d3a3bc87f8fcf71f9e930c0da --- jobs/gerrit-verifications.yml | 40 +++++++++++++++++++--------- jobs/master-builds.yml | 50 ++++++++++++++++++++++++----------- 2 files changed, 61 insertions(+), 29 deletions(-) diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index e66a0478..40e7d68f 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -51,22 +51,36 @@ docker run --rm=true \ --cap-add SYS_PTRACE \ -e ASCIIDOC_WARNINGS_CHECK="1" \ - -e CCACHE_DIR="/ccache" \ -e HOME=/build \ -e JOB_NAME="$JOB_NAME" \ -e MAKE=make \ -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ -e OSMO_GSM_MANUALS_DIR="/opt/osmo-gsm-manuals" \ - -e PATH="/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \ -e PARALLEL_MAKE="$PARALLEL_MAKE" \ -e WITH_MANUALS="1" \ -w /build -i -u build \ - -v "$HOME/ccache/gerrit-verifications:/ccache" \ -v "$PWD:/build" \ + docker_run_ccache: | + docker run --rm=true \ + --cap-add SYS_PTRACE \ + -e ASCIIDOC_WARNINGS_CHECK="1" \ + -e HOME=/build \ + -e JOB_NAME="$JOB_NAME" \ + -e MAKE=make \ + -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ + -e OSMO_GSM_MANUALS_DIR="/opt/osmo-gsm-manuals" \ + -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + -e WITH_MANUALS="1" \ + -w /build -i -u build \ + -v "$PWD:/build" \ + \ + -e CCACHE_DIR="/ccache" \ + -e PATH="/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \ + -v "$HOME/ccache/gerrit-verifications:/ccache" \ docker_img: '$USER/debian-buster-jenkins' docker_img_erlang: '$USER/debian-bullseye-erlang' timeout_cmd: '/usr/bin/timeout 30m' - cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh' + cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh' gerrit_url: 'ssh://jenkins@gerrit.osmocom.org:29418' repos_url: '{gerrit_url}/{repos}' gerrit_project: '{repos}' @@ -98,7 +112,7 @@ a1_name: arch a1: !!python/tuple [arm-none-eabi, amd64] combination_filter: '!(arch=="arm-none-eabi" && label=="FreeBSD_amd64")' - cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins_arch.sh "$arch"' + cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins_arch.sh "$arch"' - libsmpp34 @@ -115,7 +129,7 @@ a3_name: IU a3: !!python/tuple [--disable-iu] cmd: | - {docker_run} \ + {docker_run_ccache} \ -e IU="$IU" \ -e SMPP="$SMPP" \ -e MGCP="$MGCP" \ @@ -157,7 +171,7 @@ case "$(arch)" in arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;; esac - {docker_run} \ + {docker_run_ccache} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -e WITH_MANUALS="$WITH_MANUALS" \ "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins_bts_model.sh "$BTS_MODEL" @@ -197,7 +211,7 @@ (GTP == "--enable-gtp-linux" && WITH_MANUALS == "0") || (GTP == "--disable-gtp-linux" && WITH_MANUALS == "1") cmd: | - {docker_run} \ + {docker_run_ccache} \ -e GTP="$GTP" \ -e WITH_MANUALS="$WITH_MANUALS" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh @@ -207,7 +221,7 @@ - osmo_gsup: repos_url: '{gerrit_url}/erlang/{repos}' gerrit_project: 'erlang/{repos}' - cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh' + cmd: '{docker_run_ccache} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh' pipeline_binpkgs: false - osmo-hlr @@ -223,7 +237,7 @@ (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") cmd: | - {docker_run} \ + {docker_run_ccache} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh @@ -253,7 +267,7 @@ case "$(arch)" in arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;; esac - {docker_run} \ + {docker_run_ccache} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -e with_vty="$with_vty" \ -e with_dsp="$with_dsp" \ @@ -273,7 +287,7 @@ (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") cmd: | - {docker_run} \ + {docker_run_ccache} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh @@ -302,7 +316,7 @@ case "$(arch)" in arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;; esac - {docker_run} \ + {docker_run_ccache} \ -e INSTR="$INSTR" \ -e WITH_MANUALS="$WITH_MANUALS" \ "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins.sh diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index c0b7ea03..fb05c53a 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -25,25 +25,43 @@ docker run --rm=true \ --cap-add SYS_PTRACE \ -e ASCIIDOC_WARNINGS_CHECK="1" \ - -e CCACHE_DIR="/ccache" \ -e HOME=/build \ -e JOB_NAME="$JOB_NAME" \ -e MAKE=make \ -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ -e OSMO_GSM_MANUALS_DIR="/opt/osmo-gsm-manuals" \ - -e PATH="/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \ -e PARALLEL_MAKE="$PARALLEL_MAKE" \ -e PUBLISH="1" \ -e SSH_AUTH_SOCK=/ssh-agent \ -e WITH_MANUALS="1" \ -w /build -i -u build \ -v $(readlink -f $SSH_AUTH_SOCK):/ssh-agent \ - -v "$HOME/ccache/master-builds:/ccache" \ -v "$PWD:/build" \ -v "$HOME/.ssh:/home/build/.ssh:ro" \ + docker_run_ccache: | + docker run --rm=true \ + --cap-add SYS_PTRACE \ + -e ASCIIDOC_WARNINGS_CHECK="1" \ + -e HOME=/build \ + -e JOB_NAME="$JOB_NAME" \ + -e MAKE=make \ + -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ + -e OSMO_GSM_MANUALS_DIR="/opt/osmo-gsm-manuals" \ + -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + -e PUBLISH="1" \ + -e SSH_AUTH_SOCK=/ssh-agent \ + -e WITH_MANUALS="1" \ + -w /build -i -u build \ + -v $(readlink -f $SSH_AUTH_SOCK):/ssh-agent \ + -v "$PWD:/build" \ + -v "$HOME/.ssh:/home/build/.ssh:ro" \ + \ + -e CCACHE_DIR="/ccache" \ + -e PATH="/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \ + -v "$HOME/ccache/master-builds:/ccache" \ docker_img: '$USER/debian-buster-jenkins' timeout_cmd: '/usr/bin/timeout 30m' - cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh' + cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh' trigger: email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org git_base_url: https://gerrit.osmocom.org @@ -81,7 +99,7 @@ - libosmo-dsp: git_base_url: https://gitea.osmocom.org/sdr cmd: | - {docker_run} \ + {docker_run_ccache} \ {docker_img} {timeout_cmd} sh -ex -c \ 'autoreconf -fi; \ ./configure; \ @@ -142,7 +160,7 @@ a1_name: arch a1: !!python/tuple [arm-none-eabi, amd64] combination_filter: '!(arch=="arm-none-eabi" && label=="FreeBSD_amd64")' - cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins_arch.sh "$arch"' + cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins_arch.sh "$arch"' # Full triggers would be: # trigger: > # master-libosmo-abis, master-libosmo-netif, master-libosmo-sccp, master-openbsc, @@ -205,7 +223,7 @@ a3_name: IU a3: !!python/tuple [--disable-iu] cmd: | - {docker_run} \ + {docker_run_ccache} \ -e IU="$IU" \ -e SMPP="$SMPP" \ -e MGCP="$MGCP" \ @@ -239,7 +257,7 @@ case "$(arch)" in arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;; esac - {docker_run} \ + {docker_run_ccache} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -e WITH_MANUALS="$WITH_MANUALS" \ "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins_bts_model.sh "$BTS_MODEL" @@ -289,7 +307,7 @@ (GTP == "--enable-gtp-linux" && WITH_MANUALS == "0") || (GTP == "--disable-gtp-linux" && WITH_MANUALS == "1") cmd: | - {docker_run} \ + {docker_run_ccache} \ -e GTP="$GTP" \ -e WITH_MANUALS="$WITH_MANUALS" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh @@ -331,7 +349,7 @@ (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") cmd: | - {docker_run} \ + {docker_run_ccache} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh @@ -360,7 +378,7 @@ case "$(arch)" in arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;; esac - {docker_run} \ + {docker_run_ccache} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -e with_vty="$with_vty" \ -e with_dsp="$with_dsp" \ @@ -376,7 +394,7 @@ (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") cmd: | - {docker_run} \ + {docker_run_ccache} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh @@ -403,7 +421,7 @@ case "$(arch)" in arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;; esac - {docker_run} \ + {docker_run_ccache} \ -e INSTR="$INSTR" \ -e WITH_MANUALS="$WITH_MANUALS" \ "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins.sh @@ -412,19 +430,19 @@ - osmo-sysmon - osmo-remsim - osmo-asf4-dfu: - cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish' + cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish' email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org ewild@sysmocom.de ssh: - binaries_ftp.osmocom.org - docs_ftp.osmocom.org - osmo-ccid-firmware: - cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish' + cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish' email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org ewild@sysmocom.de ssh: - binaries_ftp.osmocom.org - docs_ftp.osmocom.org - simtrace2: - cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish' + cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish' email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org kredon@sysmocom.de ssh: - binaries_ftp.osmocom.org