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.

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
This commit is contained in:
Oliver Smith 2023-01-24 14:32:15 +01:00
parent 945687b030
commit 30d89506cd
2 changed files with 67 additions and 35 deletions

View File

@ -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" \
@ -156,7 +170,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"
@ -164,7 +178,7 @@
- osmo_dia2gsup:
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'
- osmo-e1-hardware:
a2_name: JOB_TYPE
@ -177,7 +191,7 @@
docker pull "$DOCKER_IMG"
;;
esac
{docker_run} \
{docker_run_ccache} \
-e JOB_TYPE="$JOB_TYPE" \
"$DOCKER_IMG" \
{timeout_cmd} /build/contrib/jenkins.sh
@ -196,7 +210,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
@ -206,7 +220,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
@ -222,7 +236,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
@ -252,7 +266,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" \
@ -272,7 +286,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
@ -301,7 +315,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

View File

@ -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"
@ -255,7 +273,7 @@
docker pull "$DOCKER_IMG"
;;
esac
{docker_run} \
{docker_run_ccache} \
-e JOB_TYPE="$JOB_TYPE" \
"$DOCKER_IMG" \
{timeout_cmd} /build/contrib/jenkins.sh --publish
@ -265,14 +283,14 @@
- ice40-usbtrace:
git_base_url: https://gitea.osmocom.org/electronics
docker_img: 'registry.osmocom.org/$USER/fpga-build'
cmd: 'docker pull {docker_img} && {docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish'
cmd: 'docker pull {docker_img} && {docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish'
ssh:
- binaries_ftp.osmocom.org
- docs_ftp.osmocom.org
- no2bootloader:
git_base_url: https://github.com/no2fpga
docker_img: 'registry.osmocom.org/$USER/fpga-build'
cmd: 'docker pull {docker_img} && {docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish'
cmd: 'docker pull {docker_img} && {docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish'
email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org kredon@sysmocom.de 246tnt@gmail.com
ssh:
- binaries_ftp.osmocom.org
@ -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
@ -432,7 +450,7 @@
- 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'
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