mirror of https://gerrit.osmocom.org/osmo-ci
484 lines
18 KiB
YAML
484 lines
18 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: true
|
|
node: 'osmocom-master-debian9'
|
|
# 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
|
|
# SYS_PTRACE is needed for ASAN (https://github.com/google/sanitizers/issues/764)
|
|
# Documentation for variables (keep in sync!):
|
|
# https://osmocom.org/projects/osmocom-servers/wiki/Jenkins_build_verification_jobs
|
|
docker_run: |
|
|
ARTIFACT_STORE="$HOME/jenkins_build_artifact_store"
|
|
mkdir -p "$ARTIFACT_STORE"
|
|
docker run --rm=true \
|
|
--cap-add SYS_PTRACE \
|
|
-e ARTIFACT_STORE=/artifact_store \
|
|
-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 WITH_MANUALS="1" \
|
|
-w /build -i -u build \
|
|
-v "$PWD:/build" \
|
|
-v "$ARTIFACT_STORE:/artifact_store" \
|
|
-v "$HOME/.ssh:/home/build/.ssh:ro" \
|
|
docker_img: '$USER/debian-buster-jenkins'
|
|
cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh'
|
|
wrappers: []
|
|
trigger:
|
|
email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org
|
|
git_base_url: git://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, master-osmo-upf
|
|
|
|
- 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: |
|
|
{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
|
|
|
|
- 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, master-osmo-hnodeb,
|
|
# master-osmo-hnbgw
|
|
# Optimized:
|
|
# (see comment at libosmocore)
|
|
trigger: >
|
|
master-libosmo-sccp,
|
|
master-osmo-hlr,
|
|
master-osmo-mgw,
|
|
master-osmo-sgsn
|
|
|
|
- libosmo-pfcp:
|
|
# Full triggers would be:
|
|
# trigger: >
|
|
# master-osmo-upf, master-osmo-hnbgw
|
|
# Optimized:
|
|
# (see comment at libosmocore)
|
|
trigger: >
|
|
master-osmo-upf,
|
|
master-osmo-hnbgw
|
|
|
|
- libosmo-sccp:
|
|
# Full triggers would be:
|
|
# trigger: >
|
|
# master-openbsc, master-osmo-bsc, master-osmo-iuh, master-osmo-msc,
|
|
# master-osmo-sgsn, master-osmo-hnodeb, master-osmo-hnbgw
|
|
# Optimized:
|
|
# (see comment at libosmocore)
|
|
trigger: >
|
|
master-openbsc,
|
|
master-osmo-bsc,
|
|
master-osmo-bsc-nat,
|
|
master-osmo-iuh,
|
|
master-osmo-msc,
|
|
master-osmo-sgsn
|
|
|
|
- libosmocore:
|
|
a1_name: arch
|
|
a1: !!python/tuple [arm-none-eabi, amd64]
|
|
combination_filter: '!(arch=="arm-none-eabi" && label=="FreeBSD_amd64")'
|
|
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,
|
|
# 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-osmo-hnodeb
|
|
# master-osmocom-bb, SIMtrace, xgoldmon
|
|
# Optimized:
|
|
# libosmocore
|
|
# -> master-libosmo-abis
|
|
# -> master-libosmo-netif
|
|
# -> master-libosmo-sccp
|
|
# -> master-openbsc
|
|
# -> master-osmo-bsc
|
|
# -> master-osmo-bsc-nat
|
|
# -> master-osmo-iuh
|
|
# -> master-osmo-msc
|
|
# -> master-osmo-sgsn
|
|
# -> master-osmo-hnodeb
|
|
# -> master-osmo-msc
|
|
# -> master-osmo-sgsn
|
|
# -> master-osmo-hlr
|
|
# -> master-osmo-mgw
|
|
# -> master-osmo-sgsn
|
|
# -> master-libosmo-pfcp
|
|
# -> master-osmo-upf
|
|
# -> master-osmo-hnbgw
|
|
# -> master-osmo-bts
|
|
# -> master-osmo-ggsn
|
|
# -> master-osmo-sgsn
|
|
# -> master-osmo-upf
|
|
# [...]
|
|
trigger: >
|
|
master-libosmo-abis,
|
|
master-osmo-gbproxy,
|
|
master-osmo-ggsn,
|
|
master-osmo-upf,
|
|
master-osmo-gmr,
|
|
master-osmo-pcap,
|
|
master-osmo-pcu,
|
|
master-osmo-sip-connector,
|
|
master-osmo-tetra,
|
|
master-osmo-trx,
|
|
master-osmocom-bb,
|
|
master-libosmo-pfcp,
|
|
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]
|
|
cmd: |
|
|
{docker_run} \
|
|
-e IU="$IU" \
|
|
-e SMPP="$SMPP" \
|
|
-e MGCP="$MGCP" \
|
|
{docker_img} /build/contrib/jenkins.sh
|
|
|
|
- osmo-bsc
|
|
- osmo-bsc-nat
|
|
|
|
- osmo-bts:
|
|
slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-raspbian11]
|
|
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 == "1" && label == "osmocom-master-debian9") ||
|
|
(FIRMWARE_VERSION == "master" && BTS_MODEL == "trx" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") ||
|
|
(FIRMWARE_VERSION == "femtobts_v2.7" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") ||
|
|
(FIRMWARE_VERSION == "superfemto_v2.4" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") ||
|
|
(FIRMWARE_VERSION == "superfemto_v3.0.1pre" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") ||
|
|
(FIRMWARE_VERSION == "superfemto_v3.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") ||
|
|
(FIRMWARE_VERSION == "superfemto_v5.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") ||
|
|
(FIRMWARE_VERSION == "v2017.01" && BTS_MODEL == "lc15" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") ||
|
|
(FIRMWARE_VERSION == "origin/nrw/litecell15" && BTS_MODEL == "lc15" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") ||
|
|
(FIRMWARE_VERSION == "origin/nrw/oc2g" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0" && label == "osmocom-master-debian9")
|
|
concurrent: false
|
|
cmd: |
|
|
{docker_run} \
|
|
-e FIRMWARE_VERSION="$FIRMWARE_VERSION" \
|
|
-e WITH_MANUALS="$WITH_MANUALS" \
|
|
{docker_img} /build/contrib/jenkins_bts_model.sh "$BTS_MODEL"
|
|
|
|
- osmo-e1-hardware:
|
|
docker_img: 'registry.osmocom.org/$USER/fpga-build'
|
|
cmd: 'docker pull {docker_img} && {docker_run} {docker_img} /build/contrib/jenkins.sh --publish'
|
|
- 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} /build/contrib/jenkins.sh --publish'
|
|
email: gerrit-log@lists.osmocom.org laforge@gnumonks.org kredon@sysmocom.de 246tnt@gmail.com
|
|
|
|
- osmo-fl2k
|
|
- 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: |
|
|
{docker_run} \
|
|
-e GTP="$GTP" \
|
|
-e WITH_MANUALS="$WITH_MANUALS" \
|
|
{docker_img} /build/contrib/jenkins.sh
|
|
trigger: master-osmo-sgsn
|
|
|
|
- osmo-upf
|
|
|
|
- osmo-gmr:
|
|
email: gerrit-log@lists.osmocom.org 246tnt@gmail.com
|
|
|
|
- osmo-gsm-manuals:
|
|
node: 'osmocom-master-debian9'
|
|
|
|
- osmo-gsm-tester:
|
|
cmd: '{docker_run} {docker_img} /build/contrib/jenkins-build-manuals.sh'
|
|
|
|
- osmo-hlr
|
|
|
|
- osmo-iuh:
|
|
# Full triggers would be:
|
|
# trigger: master-osmo-msc, master-osmo-sgsn, master-osmo-hnodeb, master-osmo-hnbgw
|
|
# Optimized:
|
|
# (see comment at libosmocore)
|
|
trigger: >
|
|
master-osmo-msc,
|
|
master-osmo-sgsn,
|
|
master-osmo-hnodeb,
|
|
master-osmo-hnbgw
|
|
|
|
- osmo-mgw:
|
|
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"]
|
|
combination_filter: >
|
|
(IU == "--enable-iu" && WITH_MANUALS == "0") ||
|
|
(IU == "--disable-iu" && WITH_MANUALS == "1")
|
|
cmd: |
|
|
{docker_run} \
|
|
-e IU="$IU" \
|
|
-e WITH_MANUALS="$WITH_MANUALS" \
|
|
{docker_img} /build/contrib/jenkins.sh
|
|
|
|
- osmo-pcap
|
|
|
|
- osmo-pcu:
|
|
slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-raspbian11]
|
|
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"]
|
|
combination_filter: >
|
|
(with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") ||
|
|
(with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") ||
|
|
(with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") ||
|
|
(with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") ||
|
|
(with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") ||
|
|
(with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-raspbian11")
|
|
cmd: |
|
|
{docker_run} \
|
|
-e FIRMWARE_VERSION="$FIRMWARE_VERSION" \
|
|
-e with_vty="$with_vty" \
|
|
-e with_dsp="$with_dsp" \
|
|
-e WITH_MANUALS="$WITH_MANUALS" \
|
|
{docker_img} /build/contrib/jenkins.sh
|
|
|
|
- osmo-sgsn:
|
|
a1_name: IU
|
|
a1: !!python/tuple [--enable-iu, --disable-iu]
|
|
a2_name: WITH_MANUALS
|
|
a2: !!python/tuple ["1", "0"]
|
|
combination_filter: >
|
|
(IU == "--enable-iu" && WITH_MANUALS == "0") ||
|
|
(IU == "--disable-iu" && WITH_MANUALS == "1")
|
|
cmd: |
|
|
{docker_run} \
|
|
-e IU="$IU" \
|
|
-e WITH_MANUALS="$WITH_MANUALS" \
|
|
{docker_img} /build/contrib/jenkins.sh
|
|
|
|
- osmo-sip-connector:
|
|
email: gerrit-log@lists.osmocom.org laforge@gnumonks.org holger@freyther.de
|
|
|
|
- osmo-tetra:
|
|
email: gerrit-log@lists.osmocom.org laforge@gnumonks.org 246tnt@gmail.com
|
|
|
|
- osmo-trx:
|
|
slave_axis: !!python/tuple [osmocom-master-debian9,rpi4-raspbian11]
|
|
a1_name: INSTR
|
|
a1: !!python/tuple [--with-sse, --without-sse, --with-neon, --with-neon-vfpv4]
|
|
a2_name: WITH_MANUALS
|
|
a2: !!python/tuple ["1", "0"]
|
|
combination_filter: >
|
|
(INSTR == "--without-sse" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") ||
|
|
(INSTR == "--with-sse" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") ||
|
|
(INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") ||
|
|
(INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-raspbian11")
|
|
cmd: |
|
|
{docker_run} \
|
|
-e INSTR="$INSTR" \
|
|
-e WITH_MANUALS="$WITH_MANUALS" \
|
|
{docker_img} /build/contrib/jenkins.sh
|
|
|
|
- osmocom-bb
|
|
- osmo-sysmon
|
|
- osmo-remsim
|
|
- osmo-asf4-dfu:
|
|
cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh --publish'
|
|
email: gerrit-log@lists.osmocom.org laforge@gnumonks.org ewild@sysmocom.de
|
|
- osmo-ccid-firmware:
|
|
cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh --publish'
|
|
email: gerrit-log@lists.osmocom.org laforge@gnumonks.org ewild@sysmocom.de
|
|
- simtrace2:
|
|
cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh --publish'
|
|
email: gerrit-log@lists.osmocom.org laforge@gnumonks.org kredon@sysmocom.de
|
|
- osmo-opencm3-projects:
|
|
docker_img: '$USER/debian-bullseye-jenkins'
|
|
cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh --publish'
|
|
email: gerrit-log@lists.osmocom.org laforge@gnumonks.org kredon@sysmocom.de
|
|
|
|
- osmo-e1d
|
|
- osmo-cbc
|
|
- osmo-e1-recorder
|
|
- gapk
|
|
- osmo-uecups
|
|
- osmo-el2tpd
|
|
- osmo-smlc
|
|
- osmo-gbproxy
|
|
- osmo-hnodeb
|
|
- osmo-hnbgw
|
|
|
|
- rtl-sdr:
|
|
email: laforge@gnumonks.org steve@steve-m.de
|
|
|
|
- pysim:
|
|
concurrent: false
|
|
slave_axis: !!python/tuple [simtester]
|
|
cmd: 'PUBLISH=1 WITH_MANUALS=1 /usr/bin/timeout 30m ./contrib/jenkins.sh'
|
|
|
|
- sysmo-usim-tool:
|
|
concurrent: false
|
|
cmd: cd ./tests; ./run-tests
|
|
slave_axis: !!python/tuple [simtester]
|
|
git_base_url: https://git.sysmocom.de/sysmocom
|
|
|
|
- dahdi-tools
|
|
|
|
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="{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_base_url}/{repos}"
|
|
branches:
|
|
- 'origin/master'
|
|
refspec:
|
|
name:
|
|
wipe-workspace: false
|
|
skip-tag: true
|
|
submodule:
|
|
recursive: 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
|