summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2019-09-19 15:06:10 +0200
committerosmith <osmith@sysmocom.de>2019-10-18 08:38:58 +0000
commitb082c969cb1be15c32c38923a65abd26b22ad7a8 (patch)
tree91a6d53a14d3b7bbf447408f6326873cda222ee0
parent88b26a372d43f8c37258b76a3091e8d68ce576ff (diff)
gerrit, master builds: build almost all in docker
Instead of building some projects in docker, and some directly on the build slave, build almost all of them in docker with few exceptions, and make building in docker the default. This has several advantages: * build environment of master builds and gerrit verifications is the same, therefore the same build won't pass in gerrit and then fail in master * all build environments are volatile * no more conflicts while running VTY/CTRL tests * fix osmo-python-tests gerrit review versions being installed to /usr/local of build slave (see previous commit message) Projects that still do not get built in docker: * openggsn: depends on libgtpnl, but does not build it in jenkins.sh * osmo-bts: l1headers, various SDKs not installed in the docker image * osmo-trx: LimeSuite is not in the docker image (and just installing the debian package does not work) * osmo-ttcn3-hacks: TTCN-3 not installed in docker image * pysim: needs to access real sim cards attached to the host * sysmo-usim-tool: needs to access real sim cards attached to the host Related: OS#3726, OS#3598 Change-Id: If4b7d2f9ffbc7e92699732d97a8f5829a88c5b35
-rw-r--r--jobs/gerrit-verifications.yml32
-rw-r--r--jobs/master-builds.yml44
2 files changed, 34 insertions, 42 deletions
diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml
index 693d3c3..83c7169 100644
--- a/jobs/gerrit-verifications.yml
+++ b/jobs/gerrit-verifications.yml
@@ -39,7 +39,7 @@
-v "$PWD:/build" -v "$HOME/bin:/build_bin" \
-v "$ARTIFACT_STORE:/artifact_store" \
docker_img: 'osmocom:deb9_amd64'
- cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
+ cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh'
repos_url: 'ssh://jenkins@gerrit.osmocom.org:29418/{repos}'
gerrit_project: '{repos}'
@@ -49,20 +49,18 @@
- cellmgr-ng:
concurrent: true
- cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh'
- libasn1c
- libgtpnl
- libosmo-abis
- libosmo-netif
- - libosmo-sccp:
- cmd: WITH_MANUALS=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
+ - libosmo-sccp
- libosmocore:
a1_name: arch
a1: !!python/tuple [arm-none-eabi, amd64]
combination_filter: '!(arch=="arm-none-eabi" && label=="FreeBSD_amd64")'
- cmd: './contrib/jenkins_arch.sh "$arch"'
+ cmd: '{docker_run} {docker_img} /build/contrib/jenkins_arch.sh "$arch"'
- libsmpp34
- libtelnet
@@ -90,7 +88,6 @@
- osmo-bsc:
concurrent: true
- cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh'
- osmo-bts:
a1_name: FIRMWARE_VERSION
@@ -120,19 +117,18 @@
combination_filter: >
(GTP == "--enable-gtp-linux" && WITH_MANUALS == "0") ||
(GTP == "--disable-gtp-linux" && WITH_MANUALS == "1")
- cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
+ cmd: |
+ {docker_run} \
+ -e GTP="$GTP" \
+ -e WITH_MANUALS="$WITH_MANUALS" \
+ {docker_img} /build/contrib/jenkins.sh
- osmo-gsm-manuals
-
- - osmo-hlr:
- cmd: WITH_MANUALS=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
-
- - osmo-iuh:
- cmd: WITH_MANUALS=1 ./contrib/jenkins.sh
+ - osmo-hlr
+ - osmo-iuh
- osmo-mgw:
concurrent: true
- cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh'
- osmo-msc:
a1_name: IU
@@ -195,8 +191,7 @@
-e WITH_MANUALS="$WITH_MANUALS" \
{docker_img} /build/contrib/jenkins.sh
- - osmo-sip-connector:
- cmd: WITH_MANUALS=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
+ - osmo-sip-connector
- osmo-trx:
a1_name: INSTR
@@ -208,9 +203,9 @@
concurrent: true
combination_filter: >
(INSTR == "--with-sse" && WITH_MANUALS == "1")
+ cmd: 'ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh'
- - osmocom-bb:
- cmd: WITH_MANUALS=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
+ - osmocom-bb
- osmo-tetra
- osmo-sysmon
- osmo-remsim
@@ -222,6 +217,7 @@
- pysim:
slave_axis: !!python/tuple [simtester]
+ cmd: './contrib/jenkins.sh'
- osmo-ttcn3-hacks:
repos_url: 'https://gerrit.osmocom.org/{repos}'
diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml
index 854b991..138807e 100644
--- a/jobs/master-builds.yml
+++ b/jobs/master-builds.yml
@@ -18,7 +18,8 @@
a4: !!python/tuple [default]
combination_filter: ''
sequential: false
- # most common build invocation (PUBLISH=1 is prepended to publish manual PDFs)
+ # most common build invocation
+ # PUBLISH=1 is for uploading manual PDFs
# SYS_PTRACE is needed for ASAN (https://github.com/google/sanitizers/issues/764)
docker_run: |
ARTIFACT_STORE="$HOME/jenkins_build_artifact_store"
@@ -40,7 +41,7 @@
-v "$ARTIFACT_STORE:/artifact_store" \
-v "$HOME/.ssh:/home/build/.ssh:ro" \
docker_img: 'osmocom:deb9_amd64'
- cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
+ cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh'
wrappers: []
trigger:
email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org
@@ -72,10 +73,12 @@
- libosmo-dsp:
cmd: |
- autoreconf --install --force
- ./configure
- $MAKE $PARALLEL_MAKE
- $MAKE distcheck
+ {docker_run} \
+ {docker_img} sh -ex -c \
+ 'autoreconf -fi; \
+ ./configure; \
+ $MAKE $PARALLEL_MAKE; \
+ $MAKE distcheck'
trigger: master-osmo-gmr
email: gerrit-log@lists.osmocom.org laforge@gnumonks.org 246tnt@gmail.com
@@ -104,13 +107,12 @@
master-osmo-iuh,
master-osmo-msc,
master-osmo-sgsn
- cmd: WITH_MANUALS=1 PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
- libosmocore:
a1_name: arch
a1: !!python/tuple [arm-none-eabi, amd64]
combination_filter: '!(arch=="arm-none-eabi" && label=="FreeBSD_amd64")'
- cmd: './contrib/jenkins_arch.sh "$arch"'
+ cmd: '{docker_run} {docker_img} /build/contrib/jenkins_arch.sh "$arch"'
# Full triggers would be:
# trigger: >
# master-libosmo-abis, master-libosmo-netif, master-libosmo-sccp, master-openbsc,
@@ -173,7 +175,6 @@
- osmo-bsc:
concurrent: true
- cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh'
- osmo-bts:
a1_name: FIRMWARE_VERSION
@@ -202,7 +203,11 @@
combination_filter: >
(GTP == "--enable-gtp-linux" && WITH_MANUALS == "0") ||
(GTP == "--disable-gtp-linux" && WITH_MANUALS == "1")
- cmd: PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
+ cmd: |
+ {docker_run} \
+ -e GTP="$GTP" \
+ -e WITH_MANUALS="$WITH_MANUALS" \
+ {docker_img} /build/contrib/jenkins.sh
trigger: master-osmo-sgsn
- osmo-gmr:
@@ -210,17 +215,13 @@
- osmo-gsm-manuals:
node: 'osmocom-master-debian9'
- cmd: |
- ./contrib/jenkins.sh
- osmo-gsm-tester:
- cmd: PUBLISH=1 ./contrib/jenkins-build-manuals.sh
+ cmd: '{docker_run} {docker_img} /build/contrib/jenkins-build-manuals.sh'
- - osmo-hlr:
- cmd: WITH_MANUALS=1 PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
+ - osmo-hlr
- osmo-iuh:
- cmd: WITH_MANUALS=1 PUBLISH=1 ./contrib/jenkins.sh
# Full triggers would be:
# trigger: master-osmo-msc, master-osmo-sgsn
# Optimized:
@@ -231,7 +232,6 @@
- osmo-mgw:
concurrent: true
- cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh'
trigger: master-osmo-msc, master-osmo-bsc
- osmo-msc:
@@ -297,7 +297,6 @@
- osmo-sip-connector:
email: gerrit-log@lists.osmocom.org laforge@gnumonks.org holger@freyther.de
- cmd: WITH_MANUALS=1 PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
- osmo-tetra:
email: gerrit-log@lists.osmocom.org laforge@gnumonks.org 246tnt@gmail.com
@@ -312,17 +311,14 @@
concurrent: true
combination_filter: >
(INSTR == "--with-sse" && WITH_MANUALS == "1")
- cmd: PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
-
- - osmocom-bb:
- cmd: WITH_MANUALS=1 PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
+ cmd: 'PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh'
+ - osmocom-bb
- osmo-sysmon
- osmo-remsim
- osmo-asf4-dfu
- simtrace2:
- cmd: |
- ./contrib/jenkins.sh --publish
+ cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh --publish'
email: gerrit-log@lists.osmocom.org laforge@gnumonks.org kredon@sysmocom.de
- gapk