osmo-ci/jobs/master-builds.yml

644 lines
24 KiB
YAML
Raw Permalink Normal View History

# 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
# axes related defaults
slave_axis: !!python/tuple [osmocom-master]
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: |
docker run --rm=true \
--cap-add SYS_PTRACE \
-e ASCIIDOC_WARNINGS_CHECK="1" \
-e HOME=/build \
-e IS_MASTER_BUILD=1 \
-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" \
docker_run_ccache: |
CCACHE_DIR="$HOME/ccache/master-builds"
mkdir -p "$CCACHE_DIR"
chown osmocom-build:osmocom-build "$CCACHE_DIR"
docker run --rm=true \
--cap-add SYS_PTRACE \
-e ASCIIDOC_WARNINGS_CHECK="1" \
-e HOME=/build \
-e IS_MASTER_BUILD=1 \
-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 "$CCACHE_DIR:/ccache" \
jobs: master/gerrit: use debian bookworm (12) Upgrade from debian 11 for master and debian 10 for gerrit verifications to using debian 12 for both. Previously we intentionally built against the older debian 10 version to ensure that our programs still build there. However it is easier to maintain the docker containers if we just use the most recent debian version for both and it makes the build environment more consistent - if a patch passes in gerrit verifications, we expect it to pass in master builds as well. And the other way around, I can just run CI of all master jobs when developing a change and assume that if they pass, gerrit verifications will run as well. As long as we provide binary packages in OBS for debian 11, 10, ... we will still notice if a build breaks on an older debian release. I think this is good enough given that it will probably not happen that often, but if we decide that we really want to ensure it still builds on older distros at gerrit-verification time then the more suitable place to add this would be in the deb-build verification test. It is more maintainable there, because the dependencies just get installed from the debian/control file, no need to add all of them to a docker container beforehand. The new container is debian-bookworm-build, see the docker-playground commit for reasoning why it is not debian-bookworm-jenkins. Related: OS#6057 Depends: docker-playground I49aaf62b5b97775f923453611df3b91354a640a0 Change-Id: I079e55a1325083714c8d39f922b2563e843fc0bc
2023-07-12 14:53:00 +00:00
docker_img: '$USER/debian-bookworm-build'
docker_img_erlang: '$USER/debian-bookworm-erlang'
timeout_cmd: '/usr/bin/timeout 30m'
cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh'
trigger:
email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org
gerrit_url: 'https://gerrit.osmocom.org'
gitea_url: 'https://gitea.osmocom.org'
repos_url: '{gerrit_url}/{repos}'
branches:
- master
ssh:
- docs_ftp.osmocom.org
# in alphabetical order
repos:
- asn1c:
branches:
- osmo-iuh/master
- 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:
repos_url: '{gitea_url}/sdr/{repos}'
cmd: |
{docker_run_ccache} \
{docker_img} {timeout_cmd} sh -ex -c \
'autoreconf -fi; \
./configure; \
$MAKE $PARALLEL_MAKE; \
$MAKE distcheck'
trigger: master-osmo-gmr
email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org 246tnt@gmail.com
- libosmo-gprs:
# Full triggers would be:
# trigger: >
# master-osmo-pcu
# Optimized:
# (see comment at libosmocore)
trigger: >
master-osmo-pcu
- 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:
slave_axis: !!python/tuple [io_uring] # OS#6405
a1_name: arch
a1: !!python/tuple [arm-none-eabi, amd64]
combination_filter: '!(arch=="arm-none-eabi" && label=="FreeBSD_amd64")'
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,
# 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, master-simtrace, master-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-osmo-bts
# -> master-libosmo-gprs
# -> master-osmo-pcu
# -> master-libosmo-pfcp
# -> master-osmo-upf
# -> master-osmo-hnbgw
# -> master-osmo-ggsn
# -> master-osmo-sgsn
# [...]
trigger: >
master-libosmo-abis,
master-libosmo-pfcp,
master-osmo-gbproxy,
master-osmo-ggsn,
master-osmo-gmr,
master-osmo-pcap,
master-osmo-sip-connector,
master-osmo-tetra,
master-osmo-trx,
master-osmocom-bb,
master-simtrace,
master-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_ccache} \
-e IU="$IU" \
-e SMPP="$SMPP" \
-e MGCP="$MGCP" \
{docker_img} {timeout_cmd} /build/contrib/jenkins.sh
- osmo-bsc
- osmo-bsc-nat
- osmo-bts:
slave_axis: !!python/tuple [osmocom-master, 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") ||
(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") ||
(FIRMWARE_VERSION == "superfemto_v2.4" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master") ||
(FIRMWARE_VERSION == "superfemto_v3.0.1pre" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master") ||
(FIRMWARE_VERSION == "superfemto_v3.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master") ||
(FIRMWARE_VERSION == "superfemto_v5.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master") ||
(FIRMWARE_VERSION == "v2017.01" && BTS_MODEL == "lc15" && WITH_MANUALS == "0" && label == "osmocom-master") ||
(FIRMWARE_VERSION == "origin/nrw/litecell15" && BTS_MODEL == "lc15" && WITH_MANUALS == "0" && label == "osmocom-master") ||
(FIRMWARE_VERSION == "origin/nrw/oc2g" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0" && label == "osmocom-master")
concurrent: false
cmd: |
DOCKER_IMG="{docker_img}"
case "$(arch)" in
arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;;
esac
{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"
- osmo_dia2gsup:
repos_url: '{gerrit_url}/erlang/{repos}'
cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh'
- osmo-epdg:
repos_url: '{gerrit_url}/erlang/{repos}'
cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh'
- osmo-e1-hardware:
a2_name: JOB_TYPE
a2: !!python/tuple ["firmware", "gateware", "manuals", "software"]
cmd: |
DOCKER_IMG="{docker_img}"
case "$JOB_TYPE" in
firmware|gateware)
DOCKER_IMG="registry.osmocom.org/$USER/fpga-build"
docker pull "$DOCKER_IMG"
;;
esac
{docker_run} \
-e JOB_TYPE="$JOB_TYPE" \
"$DOCKER_IMG" \
{timeout_cmd} /build/contrib/jenkins.sh --publish
ssh:
- binaries_ftp.osmocom.org
- docs_ftp.osmocom.org
- ice40-usbtrace:
repos_url: '{gitea_url}/electronics/{repos}'
docker_img: 'registry.osmocom.org/$USER/fpga-build'
cmd: 'docker pull {docker_img} && {docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish'
ssh:
- binaries_ftp.osmocom.org
- docs_ftp.osmocom.org
- no2bootloader:
repos_url: 'https://github.com/no2fpga/{repos}'
docker_img: 'registry.osmocom.org/$USER/fpga-build'
cmd: 'docker pull {docker_img} && {docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish'
email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org kredon@sysmocom.de 246tnt@gmail.com
ssh:
- binaries_ftp.osmocom.org
- docs_ftp.osmocom.org
- osmo-fl2k:
repos_url: '{gitea_url}/sdr/{repos}'
- 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_ccache} \
-e GTP="$GTP" \
-e WITH_MANUALS="$WITH_MANUALS" \
{docker_img} {timeout_cmd} /build/contrib/jenkins.sh
trigger: master-osmo-sgsn
- osmo-upf
- osmo-gmr:
repos_url: '{gitea_url}/satellite/{repos}'
email: jenkins-notifications@lists.osmocom.org 246tnt@gmail.com
- osmo-gsm-manuals
- osmo_gsup:
repos_url: '{gerrit_url}/erlang/{repos}'
cmd: '{docker_run_ccache} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh'
- osmo-gsm-tester:
cmd: '{docker_run} {docker_img} {timeout_cmd} /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-ir77:
repos_url: '{gitea_url}/satellite/{repos}'
email: jenkins-notifications@lists.osmocom.org 246tnt@gmail.com
- 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 == "1") ||
(IU == "--disable-iu" && WITH_MANUALS == "0")
cmd: |
{docker_run_ccache} \
-e IU="$IU" \
-e WITH_MANUALS="$WITH_MANUALS" \
{docker_img} {timeout_cmd} /build/contrib/jenkins.sh
- osmo-pcap
- osmo-pcu:
slave_axis: !!python/tuple [osmocom-master, 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") ||
(with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-master") ||
(with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0" && label == "osmocom-master") ||
(with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0" && label == "osmocom-master") ||
(with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1" && label == "osmocom-master") ||
(with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-raspbian11")
cmd: |
DOCKER_IMG="{docker_img}"
case "$(arch)" in
arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;;
esac
{docker_run_ccache} \
-e FIRMWARE_VERSION="$FIRMWARE_VERSION" \
-e with_vty="$with_vty" \
-e with_dsp="$with_dsp" \
-e WITH_MANUALS="$WITH_MANUALS" \
"$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins.sh
- osmo-python-tests:
repos_url: '{gerrit_url}/python/{repos}'
- 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 == "1") ||
(IU == "--disable-iu" && WITH_MANUALS == "0")
cmd: |
{docker_run_ccache} \
-e IU="$IU" \
-e WITH_MANUALS="$WITH_MANUALS" \
{docker_img} {timeout_cmd} /build/contrib/jenkins.sh
- osmo-sip-connector:
email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org holger@freyther.de
- osmo-tetra:
email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org 246tnt@gmail.com
- osmo-trx:
slave_axis: !!python/tuple [osmocom-master,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") ||
(INSTR == "--with-sse" && WITH_MANUALS == "0" && label == "osmocom-master") ||
(INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") ||
(INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-raspbian11")
cmd: |
DOCKER_IMG="{docker_img}"
case "$(arch)" in
arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;;
esac
{docker_run_ccache} \
-e INSTR="$INSTR" \
-e WITH_MANUALS="$WITH_MANUALS" \
"$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins.sh
- osmocom-bb
- osmo-sysmon
- osmo-remsim
- osmo-asf4-dfu:
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_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
- simtrace:
repos_url: '{gitea_url}/sim-card/{repos}'
email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org kredon@sysmocom.de
- simtrace2:
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
- docs_ftp.osmocom.org
- osmo-opencm3-projects:
repos_url: '{gitea_url}/electronics/{repos}'
cmd: '{docker_run} {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
- docs_ftp.osmocom.org
- osmo-e1d
- osmo-cbc
- osmo-e1-recorder
- gapk
- osmo-uecups
- osmo-el2tpd
- osmo-smlc
- osmo-gbproxy
- osmo-hnodeb
- osmo-hnbgw:
a1_name: PFCP
a1: !!python/tuple ["1", "0"]
a2_name: WITH_MANUALS
a2: !!python/tuple ["1", "0"]
a3_name: NFTABLES
a3: !!python/tuple ["1", "0"]
combination_filter: >
(PFCP == "1" && WITH_MANUALS == "1" && NFTABLES == "1") ||
(PFCP == "0" && WITH_MANUALS == "0" && NFTABLES == "0")
cmd: |
{docker_run_ccache} \
-e PFCP="$PFCP" \
-e WITH_MANUALS="$WITH_MANUALS" \
-e NFTABLES="$NFTABLES" \
{docker_img} {timeout_cmd} /build/contrib/jenkins.sh
- rtl-sdr:
repos_url: '{gitea_url}/sdr/{repos}'
email: laforge@gnumonks.org steve@steve-m.de
- pysim:
concurrent: false
slave_axis: !!python/tuple [simtester,osmocom-master]
a2_name: JOB_TYPE
a2: !!python/tuple ["test", "pylint", "docs"]
combination_filter: >
(JOB_TYPE == "test" && label == "simtester") ||
(JOB_TYPE == "pylint" && label == "osmocom-master") ||
(JOB_TYPE == "docs" && label == "osmocom-master")
cmd: |
case "$JOB_TYPE" in
"test")
{timeout_cmd} ./contrib/jenkins.sh
;;
*)
{docker_run} \
-e JOB_TYPE="$JOB_TYPE" \
{docker_img} \
{timeout_cmd} /build/contrib/jenkins.sh
;;
esac
- sysmo-usim-tool:
concurrent: false
cmd: cd ./tests; {timeout_cmd} ./run-tests
slave_axis: !!python/tuple [simtester]
repos_url: 'https://gitea.sysmocom.de/sysmocom/{repos}'
- dahdi-tools
- xgoldmon:
repos_url: 'https://github.com/2b-as/{repos}'
cmd: |
rm -rf osmo-ci
git clone --depth=1 https://gerrit.osmocom.org/osmo-ci -b master
{docker_run_ccache} {docker_img} {timeout_cmd} /build/osmo-ci/scripts/xgoldmon-jenkins.sh
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
description: |
Automatic jenkins test job of
<a href="{repos_url}">{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}
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: '{obj:repos_url}'
branches: '{obj:branches}'
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:
- archive:
allow-empty: true
artifacts: '**/core, **/testsuite.log, **/workspace.tar.xz'
- warnings:
console-log-parsers:
- 'GNU C Compiler 4 (gcc)'
resolve-relative-paths: true
- trigger:
project: '{obj:trigger}'
- trigger:
project: 'Osmocom_OBS_master'
- email:
recipients: '{obj:email}'
send-to-individuals: true
wrappers:
- ssh-agent-credentials:
users: '{obj:ssh}'
# vim: expandtab tabstop=2 shiftwidth=2