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
This commit is contained in:
Oliver Smith 2023-01-24 14:32:15 +01:00 committed by osmith
parent d909ad2997
commit a788a8b14f
2 changed files with 61 additions and 29 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" \
@ -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

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"
@ -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