osmo-ci/jobs/master-builds.yml

453 lines
16 KiB
YAML

# All master branch verification builds, https://jenkins.osmocom.org/jenkins/view/master/
- project:
name: master_build
# following default values can be overridden by each repo
disabled: false
concurrent: false
node: ''
# axes related defaults
slave_axis: !!python/tuple [osmocom-master-debian9]
a1_name: a1
a1: !!python/tuple [default]
a2_name: a2
a2: !!python/tuple [default]
a3_name: a3
a3: !!python/tuple [default]
a4_name: a4
a4: !!python/tuple [default]
combination_filter: ''
sequential: false
# most common build invocation (PUBLISH=1 is prepended to publish manual PDFs)
cmd: ./contrib/jenkins.sh
wrappers: []
trigger:
email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org
git_base_url: git.osmocom.org
# in alphabetical order
repos:
- asn1c
- libasn1c:
# Full triggers would be:
# trigger: master-osmo-iuh, master-osmo-msc
# Optimized:
# osmo-iuh triggers osmo-msc
trigger: master-osmo-iuh
- libgtpnl:
trigger: master-osmo-ggsn, openggsn
- libosmo-abis:
# Full triggers would be:
# trigger: >
# master-libosmo-netif, master-osmo-bsc, master-osmo-bts, master-osmo-hlr,
# master-osmo-msc, master-osmo-sgsn, master-openbsc
# Optimized:
# (see comment at libosmocore)
trigger: >
master-libosmo-netif, master-osmo-bts
- libosmo-dsp:
cmd: |
autoreconf --install --force
./configure
$MAKE $PARALLEL_MAKE
$MAKE distcheck
trigger: master-osmo-gmr
email: gerrit-log@lists.osmocom.org laforge@gnumonks.org 246tnt@gmail.com
- libosmo-netif:
# Full triggers would be:
# trigger: >
# master-libosmo-sccp, master-openbsc, mastere-osmo-hlr, master-osmo-iuh,
# master-osmo-mgw, master-osmo-msc, master-osmo-sgsn
# Optimized:
# (see comment at libosmocore)
trigger: >
master-libosmo-sccp,
master-osmo-hlr,
master-osmo-mgw,
master-osmo-sgsn
- libosmo-sccp:
# Full triggers would be:
# trigger: >
# master-openbsc, master-osmo-bsc, master-osmo-iuh, master-osmo-msc, master-osmo-sgsn
# Optimized:
# (see comment at libosmocore)
trigger: >
master-openbsc,
master-osmo-bsc,
master-osmo-iuh,
master-osmo-msc,
master-osmo-sgsn
cmd: WITH_MANUALS=1 PUBLISH=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"'
# Full triggers would be:
# trigger: >
# master-libosmo-abis, master-libosmo-netif, master-libosmo-sccp, master-openbsc,
# master-osmo-bsc, master-osmo-bts, master-osmo-ggsn, master-osmo-gmr, master-osmo-hlr,
# master-osmo-iuh, master-osmo-mgw, master-osmo-msc, master-osmo-pcap, master-osmo-pcu,
# master-osmo-sgsn, master-osmo-sip-connector, master-osmo-tetra,
# master-osmocom-bb, SIMtrace, xgoldmon
# Optimized:
# libosmocore
# -> master-libosmo-abis
# -> master-libosmo-netif
# -> master-libosmo-sccp
# -> master-openbsc
# -> master-osmo-bsc
# -> master-osmo-iuh
# -> master-osmo-msc
# -> master-osmo-sgsn
# -> master-osmo-msc
# -> master-osmo-sgsn
# -> master-osmo-hlr
# -> master-osmo-mgw
# -> master-osmo-sgsn
# -> master-osmo-bts
# -> master-osmo-ggsn
# -> master-osmo-sgsn
# [...]
trigger: >
master-libosmo-abis,
master-osmo-ggsn,
master-osmo-gmr,
master-osmo-pcap,
master-osmo-pcu,
master-osmo-sip-connector,
master-osmo-tetra,
master-osmocom-bb,
SIMtrace,
xgoldmon
- libsmpp34:
trigger: master-osmo-msc, master-openbsc
- libtelnet
- libusrp:
trigger: master-osmo-trx
- openbsc:
a1_name: SMPP
a1: !!python/tuple [--enable-smpp]
a2_name: MGCP
a2: !!python/tuple [--enable-mgcp-transcoding, --disable-mgcp-transcoding]
a3_name: IU
a3: !!python/tuple [--disable-iu]
concurrent: true
cmd: |
ARTIFACT_STORE="$HOME/jenkins_build_artifact_store"
mkdir -p "$ARTIFACT_STORE"
docker run --rm=true \
-e HOME=/build \
-e ARTIFACT_STORE=/artifact_store \
-e JOB_NAME="$JOB_NAME" \
-e MAKE=make \
-e PARALLEL_MAKE="$PARALLEL_MAKE" \
-e IU="$IU" \
-e SMPP="$SMPP" \
-e MGCP="$MGCP" \
-e PATH="$PATH:/build_bin" \
-e OSMOPY_DEBUG_TCP_SOCKETS="1" \
-e WITH_MANUALS="1" \
-e PUBLISH="1" \
-w /build -i -u build \
-v "$PWD:/build" \
-v "$HOME/bin:/build_bin" \
-v "$HOME/.ssh:/home/build/.ssh:ro" \
-v "$ARTIFACT_STORE:/artifact_store" \
osmocom:amd64 /build/contrib/jenkins.sh
- osmo-bsc:
concurrent: true
cmd: |
docker run --rm=true \
-e HOME=/build \
-e MAKE=make \
-e PARALLEL_MAKE="$PARALLEL_MAKE" \
-e PATH="$PATH:/build_bin" \
-e OSMOPY_DEBUG_TCP_SOCKETS="1" \
-e WITH_MANUALS="1" \
-e PUBLISH="1" \
-w /build -i -u build \
-v "$PWD:/build" -v "$HOME/bin:/build_bin" \
-v "$HOME/.ssh:/home/build/.ssh:ro" \
osmocom:amd64 /build/contrib/jenkins.sh
- osmo-bts:
a1_name: FIRMWARE_VERSION
a1: !!python/tuple [master, femtobts_v2.7, superfemto_v2.4, superfemto_v3.0.1pre, superfemto_v3.1, superfemto_v5.1, v2017.01, origin/nrw/litecell15, origin/nrw/oc2g]
a2_name: BTS_MODEL
a2: !!python/tuple [sysmo, oct, trx, oct+trx, lc15, oc2g]
a3_name: WITH_MANUALS
a3: !!python/tuple ["1", "0"]
combination_filter: >
(FIRMWARE_VERSION == "master" && WITH_MANUALS == "0") ||
(FIRMWARE_VERSION == "femtobts_v2.7" && BTS_MODEL == "sysmo" && WITH_MANUALS == "1") ||
(FIRMWARE_VERSION == "superfemto_v2.4" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0") ||
(FIRMWARE_VERSION == "superfemto_v3.0.1pre" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0") ||
(FIRMWARE_VERSION == "superfemto_v3.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0") ||
(FIRMWARE_VERSION == "superfemto_v5.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0") ||
(FIRMWARE_VERSION == "v2017.01" && BTS_MODEL == "lc15" && WITH_MANUALS == "0") ||
(FIRMWARE_VERSION == "origin/nrw/litecell15" && BTS_MODEL == "lc15" && WITH_MANUALS == "0") ||
(FIRMWARE_VERSION == "origin/nrw/oc2g" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0")
cmd: 'PUBLISH=1 ./contrib/jenkins_bts_model.sh "$BTS_MODEL"'
- osmo-ggsn:
a1_name: GTP
a1: !!python/tuple [--enable-gtp-linux,--disable-gtp-linux]
a2_name: WITH_MANUALS
a2: !!python/tuple ["1", "0"]
combination_filter: >
(GTP == "--enable-gtp-linux" && WITH_MANUALS == "0") ||
(GTP == "--disable-gtp-linux" && WITH_MANUALS == "1")
cmd: PUBLISH=1 ./contrib/jenkins.sh
trigger: master-osmo-sgsn
- osmo-gmr:
email: gerrit-log@lists.osmocom.org 246tnt@gmail.com
- osmo-gsm-manuals:
node: 'osmocom-master-debian9'
cmd: |
./contrib/jenkins.sh
- osmo-gsm-tester:
cmd: PUBLISH=1 ./contrib/jenkins-build-manuals.sh
- osmo-hlr:
cmd: WITH_MANUALS=1 PUBLISH=1 ./contrib/jenkins.sh
- osmo-iuh:
# Full triggers would be:
# trigger: master-osmo-msc, master-osmo-sgsn
# Optimized:
# (see comment at libosmocore)
trigger: >
master-osmo-msc,
master-osmo-sgsn
- osmo-mgw:
concurrent: true
cmd: |
docker run --rm=true \
-e HOME=/build \
-e MAKE=make \
-e PARALLEL_MAKE="$PARALLEL_MAKE" \
-e PATH="$PATH:/build_bin" \
-e OSMOPY_DEBUG_TCP_SOCKETS="1" \
-e WITH_MANUALS="1" \
-e PUBLISH="1" \
-w /build -i -u build \
-v "$PWD:/build" -v "$HOME/bin:/build_bin" \
-v "$HOME/.ssh:/home/build/.ssh:ro" \
osmocom:amd64 /build/contrib/jenkins.sh
trigger: master-osmo-msc, master-osmo-bsc
- osmo-msc:
a1_name: IU
a1: !!python/tuple [--enable-iu, --disable-iu]
a2_name: WITH_MANUALS
a2: !!python/tuple ["1", "0"]
concurrent: true
combination_filter: >
(IU == "--enable-iu" && WITH_MANUALS == "0") ||
(IU == "--disable-iu" && WITH_MANUALS == "1")
cmd: |
ARTIFACT_STORE="$HOME/jenkins_build_artifact_store"
mkdir -p "$ARTIFACT_STORE"
docker run --rm=true -i \
-e HOME=/build \
-e ARTIFACT_STORE=/artifact_store \
-e JOB_NAME="$JOB_NAME" \
-e MAKE=make \
-e PARALLEL_MAKE="$PARALLEL_MAKE" \
-e IU="$IU" \
-e WITH_MANUALS="$WITH_MANUALS" \
-e PATH="$PATH:/build_bin" \
-e OSMOPY_DEBUG_TCP_SOCKETS="1" \
-e PUBLISH="1" \
-w /build -u build \
-v "$PWD:/build" -v "$HOME/bin:/build_bin" \
-v "$ARTIFACT_STORE:/artifact_store" \
-v "$HOME/.ssh:/home/build/.ssh:ro" \
osmocom:amd64 /build/contrib/jenkins.sh
- osmo-pcap
- osmo-pcu:
scm:
- git:
branches:
- '*/master'
- '*/jerlbeck/master'
a1_name: FIRMWARE_VERSION
a1: !!python/tuple [master, v2017.01, origin/nrw/litecell15]
a2_name: with_vty
a2: !!python/tuple [True, False]
a3_name: with_dsp
a3: !!python/tuple [sysmo, lc15, none]
a4_name: WITH_MANUALS
a4: !!python/tuple ["1", "0"]
sequential: true
combination_filter: >
(with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") ||
(with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") ||
(with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0") ||
(with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0") ||
(with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1")
cmd: PUBLISH=1 ./contrib/jenkins.sh
- osmo-sgsn:
a1_name: IU
a1: !!python/tuple [--enable-iu, --disable-iu]
a2_name: WITH_MANUALS
a2: !!python/tuple ["1", "0"]
concurrent: true
combination_filter: >
(IU == "--enable-iu" && WITH_MANUALS == "0") ||
(IU == "--disable-iu" && WITH_MANUALS == "1")
cmd: |
docker run --rm=true \
-e HOME=/build \
-e MAKE=make \
-e PARALLEL_MAKE="$PARALLEL_MAKE" \
-e IU="$IU" \
-e WITH_MANUALS="$WITH_MANUALS" \
-e PATH="$PATH:/build_bin" \
-e OSMOPY_DEBUG_TCP_SOCKETS="1" \
-e PUBLISH="1" \
-w /build -i -u build \
-v "$PWD:/build" -v "$HOME/bin:/build_bin" \
-v "$HOME/.ssh:/home/build/.ssh:ro" \
osmocom:amd64 /build/contrib/jenkins.sh
- osmo-sip-connector:
email: gerrit-log@lists.osmocom.org laforge@gnumonks.org holger@freyther.de
cmd: WITH_MANUALS=1 PUBLISH=1 ./contrib/jenkins.sh
- osmo-tetra:
email: gerrit-log@lists.osmocom.org laforge@gnumonks.org 246tnt@gmail.com
- osmo-trx:
a1_name: INSTR
# ARM variants temporarily disabled due to issue OS#3061 (mind the combination_filter below!)
# a1: !!python/tuple [--with-sse, --with-neon, --with-neon-vfpv4]
a1: !!python/tuple [--with-sse]
a2_name: WITH_MANUALS
a2: !!python/tuple ["1", "0"]
concurrent: true
combination_filter: >
(INSTR == "--with-sse" && WITH_MANUALS == "1")
cmd: PUBLISH=1 ./contrib/jenkins.sh
- osmocom-bb:
cmd: WITH_MANUALS=1 PUBLISH=1 ./contrib/jenkins.sh
- osmo-sysmon
- osmo-remsim
- osmo-asf4-dfu
- simtrace2:
cmd: |
./contrib/jenkins.sh --publish
email: gerrit-log@lists.osmocom.org laforge@gnumonks.org kredon@sysmocom.de
- gapk
- rtl-sdr:
email: laforge@gnumonks.org steve@steve-m.de
- sysmo-usim-tool:
cmd: cd ./tests; ./run-tests
slave_axis: !!python/tuple [simtester]
git_base_url: git.sysmocom.de
jobs:
- 'master-{repos}'
- job-template:
name: 'master-{repos}'
project-type: matrix
concurrent: '{obj:concurrent}'
disabled: '{obj:disabled}'
retry-count: 3 # scm checkout
properties:
- build-discarder:
days-to-keep: 30
num-to-keep: 120
artifact-days-to-keep: -1
artifact-num-to-keep: -1
description: |
Automatic jenkins test job of
<a href="http://{git_base_url}/{repos}">{repos}</a>
<br/><br/>
<b>Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY!</b>
execution-strategy:
sequential: '{obj:sequential}'
combination-filter: |
{obj:combination_filter}
node: '{obj:node}'
axes:
- axis:
type: slave
name: label
values: '{obj:slave_axis}'
- axis:
type: user-defined
name: '{obj:a1_name}'
values: '{obj:a1}'
- axis:
type: user-defined
name: '{obj:a2_name}'
values: '{obj:a2}'
- axis:
type: user-defined
name: '{obj:a3_name}'
values: '{obj:a3}'
- axis:
type: user-defined
name: '{obj:a4_name}'
values: '{obj:a4}'
scm:
- git:
url: git://{git_base_url}/{repos}
branches:
- 'origin/master'
refspec:
name:
wipe-workspace: false
skip-tag: true
triggers:
- pollscm:
cron: "H/5 * * * *"
ignore-post-commit-hooks: false
- timed: "H H * * *"
builders:
- shell: '{obj:cmd}'
publishers:
- warnings:
console-log-parsers:
- 'GNU C Compiler 4 (gcc)'
resolve-relative-paths: true
- trigger:
project: '{obj:trigger}'
- email:
recipients: '{obj:email}'
send-to-individuals: true
wrappers: '{obj:wrappers}'
# vim: expandtab tabstop=2 shiftwidth=2