Change in osmo-ci[master]: gerrit, master builds: build almost all in docker

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

osmith gerrit-no-reply at lists.osmocom.org
Fri Oct 18 08:38:58 UTC 2019


osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15584 )

Change subject: gerrit, master builds: build almost all in docker
......................................................................

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
---
M jobs/gerrit-verifications.yml
M jobs/master-builds.yml
2 files changed, 34 insertions(+), 42 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve
  osmith: Verified



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 at lists.osmocom.org laforge at 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 at lists.osmocom.org laforge at gnumonks.org 246tnt at 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 at lists.osmocom.org laforge at gnumonks.org holger at freyther.de
-          cmd: WITH_MANUALS=1 PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
 
       - osmo-tetra:
           email: gerrit-log at lists.osmocom.org laforge at gnumonks.org 246tnt at 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
+          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
-
+      - 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 at lists.osmocom.org laforge at gnumonks.org kredon at sysmocom.de
 
       - gapk

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15584
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: If4b7d2f9ffbc7e92699732d97a8f5829a88c5b35
Gerrit-Change-Number: 15584
Gerrit-PatchSet: 8
Gerrit-Owner: osmith <osmith at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: osmith <osmith at sysmocom.de>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20191018/c240aebc/attachment.htm>


More information about the gerrit-log mailing list