2021-06-16 11:56:34 +00:00
|
|
|
# This file holds all gerrit build verifications https://jenkins.osmocom.org/jenkins/view/Jenkins-Gerrit/.
|
2022-10-06 08:53:54 +00:00
|
|
|
# One can simply add a gerrit job by adding project's repository to repos list.
|
|
|
|
#
|
2022-10-11 13:19:12 +00:00
|
|
|
# Overview of jobs involved in the pipeline:
|
|
|
|
# https://osmocom.org/projects/osmocom-servers/wiki/Jenkins_gerrit-verifications_Pipeline
|
|
|
|
#
|
2022-10-06 08:53:54 +00:00
|
|
|
# How it works:
|
|
|
|
# * Two jobs get added for each repository:
|
|
|
|
# gerrit-{repos}
|
|
|
|
# gerrit-{repos}-build
|
|
|
|
# * The gerrit-{repos} job is a pipeline that runs the gerrit-{repos}-build job
|
|
|
|
# and other jobs (linting, building debian packages, ...). The purpose of
|
|
|
|
# this job is to reduce the amount of comments (and resulting mails) in
|
|
|
|
# gerrit coming from the jenkins build verification. If each job ran
|
|
|
|
# separately without this pipeline job, they would each generate mails.
|
|
|
|
# The gerrit-{repos} job gets triggered from gerrit whenever a new patch to
|
|
|
|
# test is available. It passes the GERRIT_BRANCH and GERRIT_REFSPEC variables
|
|
|
|
# from gerrit to the jobs called in the pipeline.
|
|
|
|
# * The gerrit-{repos}-build job runs contrib/jenkins.sh in docker in a matrix.
|
|
|
|
# By default the matrix results in only one job, however for some projects we
|
|
|
|
# use the matrix to build for multiple CPU architectures (x86_64, arm) or use
|
|
|
|
# it to build multiple configurations of the same project (see osmo-bts).
|
2022-10-11 11:28:06 +00:00
|
|
|
#
|
|
|
|
# NOTE: after updating the job with Jenkins Job Builder as usual, check if a
|
|
|
|
# new pipeline script was generated and approve it here:
|
|
|
|
# https://jenkins.osmocom.org/jenkins/scriptApproval/
|
|
|
|
# This happens when changing the pipeline script, when adding new projects etc.
|
2017-09-12 11:16:33 +00:00
|
|
|
|
|
|
|
- project:
|
|
|
|
name: gerrit
|
|
|
|
# following default values can be overridden by each repo
|
|
|
|
disabled: false
|
2019-09-20 07:01:05 +00:00
|
|
|
concurrent: true
|
2017-09-12 11:16:33 +00:00
|
|
|
# axes related defaults
|
2022-11-28 11:29:45 +00:00
|
|
|
slave_axis: !!python/tuple [osmocom-gerrit]
|
2017-09-12 11:16:33 +00:00
|
|
|
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: ''
|
2018-01-22 15:27:38 +00:00
|
|
|
sequential: false
|
2017-09-12 11:16:33 +00:00
|
|
|
# most common build invocation
|
2019-09-20 08:43:03 +00:00
|
|
|
# SYS_PTRACE is needed for ASAN (https://github.com/google/sanitizers/issues/764)
|
2019-12-04 09:47:53 +00:00
|
|
|
# Documentation for variables (keep in sync!):
|
|
|
|
# https://osmocom.org/projects/osmocom-servers/wiki/Jenkins_build_verification_jobs
|
2019-09-19 10:35:11 +00:00
|
|
|
docker_run: |
|
|
|
|
ARTIFACT_STORE="$HOME/jenkins_build_artifact_store"
|
|
|
|
mkdir -p "$ARTIFACT_STORE"
|
|
|
|
docker run --rm=true \
|
2019-09-20 08:43:03 +00:00
|
|
|
--cap-add SYS_PTRACE \
|
2019-09-19 10:35:11 +00:00
|
|
|
-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" \
|
2021-01-12 12:50:44 +00:00
|
|
|
-e OSMO_GSM_MANUALS_DIR="/opt/osmo-gsm-manuals" \
|
2019-09-19 10:35:11 +00:00
|
|
|
-e PARALLEL_MAKE="$PARALLEL_MAKE" \
|
|
|
|
-e WITH_MANUALS="1" \
|
|
|
|
-w /build -i -u build \
|
2021-01-11 13:49:53 +00:00
|
|
|
-v "$PWD:/build" \
|
2019-09-19 10:35:11 +00:00
|
|
|
-v "$ARTIFACT_STORE:/artifact_store" \
|
2022-07-06 10:40:52 +00:00
|
|
|
docker_img: '$USER/debian-buster-jenkins'
|
2022-02-15 19:36:07 +00:00
|
|
|
docker_img_erlang: '$USER/debian-bullseye-erlang'
|
2020-12-22 16:15:58 +00:00
|
|
|
timeout_cmd: '/usr/bin/timeout 30m'
|
|
|
|
cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh'
|
2020-01-14 13:22:06 +00:00
|
|
|
gerrit_url: 'ssh://jenkins@gerrit.osmocom.org:29418'
|
|
|
|
repos_url: '{gerrit_url}/{repos}'
|
2017-12-15 19:29:31 +00:00
|
|
|
gerrit_project: '{repos}'
|
2022-10-06 09:40:30 +00:00
|
|
|
# Which jobs to run in the pipeline
|
|
|
|
pipeline_build: true
|
2022-10-06 09:49:59 +00:00
|
|
|
pipeline_lint: true
|
2022-10-07 13:39:38 +00:00
|
|
|
pipeline_binpkgs: true
|
2017-09-12 11:16:33 +00:00
|
|
|
|
2017-10-29 11:56:34 +00:00
|
|
|
# in alphabetical order
|
2017-09-12 11:16:33 +00:00
|
|
|
repos:
|
2022-10-07 13:39:38 +00:00
|
|
|
- asn1c:
|
|
|
|
pipeline_binpkgs: false
|
|
|
|
|
2019-09-20 07:01:05 +00:00
|
|
|
- cellmgr-ng
|
2022-10-06 09:49:59 +00:00
|
|
|
|
|
|
|
- docker-playground:
|
|
|
|
pipeline_build: false
|
2022-10-07 13:39:38 +00:00
|
|
|
pipeline_binpkgs: false
|
2022-10-06 09:49:59 +00:00
|
|
|
|
2017-10-29 12:26:24 +00:00
|
|
|
- libasn1c
|
2017-11-12 13:31:35 +00:00
|
|
|
- libgtpnl
|
2017-10-29 12:26:24 +00:00
|
|
|
- libosmo-abis
|
2022-08-09 21:24:30 +00:00
|
|
|
- libosmo-gprs
|
2017-10-29 12:26:24 +00:00
|
|
|
- libosmo-netif
|
2022-06-17 14:33:10 +00:00
|
|
|
- libosmo-pfcp
|
2019-09-19 13:06:10 +00:00
|
|
|
- libosmo-sccp
|
2017-09-12 11:16:33 +00:00
|
|
|
|
2017-10-29 11:56:34 +00:00
|
|
|
- libosmocore:
|
|
|
|
a1_name: arch
|
|
|
|
a1: !!python/tuple [arm-none-eabi, amd64]
|
|
|
|
combination_filter: '!(arch=="arm-none-eabi" && label=="FreeBSD_amd64")'
|
2020-12-22 16:15:58 +00:00
|
|
|
cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins_arch.sh "$arch"'
|
2017-09-12 11:16:33 +00:00
|
|
|
|
2017-10-29 12:26:24 +00:00
|
|
|
- libsmpp34
|
2022-10-07 13:39:38 +00:00
|
|
|
|
|
|
|
- libtelnet:
|
|
|
|
pipeline_binpkgs: false
|
|
|
|
|
2018-01-21 17:34:13 +00:00
|
|
|
- libusrp
|
2017-09-12 11:16:33 +00:00
|
|
|
|
2017-11-01 13:42:03 +00:00
|
|
|
- openbsc:
|
2017-10-29 11:56:34 +00:00
|
|
|
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]
|
2019-04-12 14:19:46 +00:00
|
|
|
cmd: |
|
2019-09-19 10:35:11 +00:00
|
|
|
{docker_run} \
|
2018-11-30 14:15:16 +00:00
|
|
|
-e IU="$IU" \
|
|
|
|
-e SMPP="$SMPP" \
|
|
|
|
-e MGCP="$MGCP" \
|
2020-12-22 16:15:58 +00:00
|
|
|
{docker_img} {timeout_cmd} /build/contrib/jenkins.sh
|
2017-10-29 11:56:34 +00:00
|
|
|
|
2017-11-14 05:43:02 +00:00
|
|
|
- openggsn:
|
|
|
|
a1_name: GTP
|
|
|
|
a1: !!python/tuple [--enable-gtp-linux,--disable-gtp-linux]
|
2019-09-20 07:01:05 +00:00
|
|
|
concurrent: false
|
2020-12-22 16:15:58 +00:00
|
|
|
cmd: '{timeout_cmd} ./contrib/jenkins.sh'
|
2017-09-12 11:16:33 +00:00
|
|
|
|
2019-09-20 07:01:05 +00:00
|
|
|
- osmo-bsc
|
2022-01-31 13:05:34 +00:00
|
|
|
- osmo-bsc-nat
|
2017-09-12 11:16:33 +00:00
|
|
|
|
|
|
|
- osmo-bts:
|
2022-11-28 11:29:45 +00:00
|
|
|
slave_axis: !!python/tuple [osmocom-gerrit, rpi4-raspbian11]
|
2017-09-12 11:16:33 +00:00
|
|
|
a1_name: FIRMWARE_VERSION
|
2018-10-27 11:38:21 +00:00
|
|
|
a1: !!python/tuple [master, femtobts_v2.7, superfemto_v2.4, superfemto_v3.0.1pre, superfemto_v3.1, superfemto_v5.1, v2017.01, litecell15, oc2g, oc2g-next]
|
2017-09-12 11:16:33 +00:00
|
|
|
a2_name: BTS_MODEL
|
2018-10-26 14:08:33 +00:00
|
|
|
a2: !!python/tuple [sysmo, oct, trx, oct+trx, lc15, oc2g]
|
2018-11-30 10:39:56 +00:00
|
|
|
a3_name: WITH_MANUALS
|
|
|
|
a3: !!python/tuple ["1", "0"]
|
2017-09-12 11:16:33 +00:00
|
|
|
combination_filter: >
|
2022-11-28 11:29:45 +00:00
|
|
|
(FIRMWARE_VERSION == "master" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
|
2022-03-03 10:57:16 +00:00
|
|
|
(FIRMWARE_VERSION == "master" && BTS_MODEL == "trx" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") ||
|
2022-11-28 11:29:45 +00:00
|
|
|
(FIRMWARE_VERSION == "femtobts_v2.7" && BTS_MODEL == "sysmo" && WITH_MANUALS == "1" && label == "osmocom-gerrit") ||
|
|
|
|
(FIRMWARE_VERSION == "superfemto_v2.4" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
|
|
|
|
(FIRMWARE_VERSION == "superfemto_v3.0.1pre" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
|
|
|
|
(FIRMWARE_VERSION == "superfemto_v3.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
|
|
|
|
(FIRMWARE_VERSION == "superfemto_v5.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
|
|
|
|
(FIRMWARE_VERSION == "v2017.01" && BTS_MODEL == "lc15" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
|
|
|
|
(FIRMWARE_VERSION == "litecell15" && BTS_MODEL == "lc15" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
|
|
|
|
(FIRMWARE_VERSION == "oc2g" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
|
|
|
|
(FIRMWARE_VERSION == "oc2g-next" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0" && label == "osmocom-gerrit")
|
2019-09-20 07:01:05 +00:00
|
|
|
concurrent: false
|
2021-01-12 10:24:45 +00:00
|
|
|
cmd: |
|
2021-03-09 07:53:15 +00:00
|
|
|
{docker_run} \
|
|
|
|
-e FIRMWARE_VERSION="$FIRMWARE_VERSION" \
|
|
|
|
-e WITH_MANUALS="$WITH_MANUALS" \
|
|
|
|
{docker_img} {timeout_cmd} /build/contrib/jenkins_bts_model.sh "$BTS_MODEL"
|
2017-09-12 11:16:33 +00:00
|
|
|
|
2020-01-08 14:48:00 +00:00
|
|
|
- osmo_dia2gsup:
|
|
|
|
repos_url: '{gerrit_url}/erlang/{repos}'
|
|
|
|
gerrit_project: 'erlang/{repos}'
|
2020-12-22 16:15:58 +00:00
|
|
|
cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh'
|
2020-01-08 14:48:00 +00:00
|
|
|
|
2020-12-17 14:32:43 +00:00
|
|
|
- osmo-e1-hardware:
|
2022-11-03 09:25:22 +00:00
|
|
|
a2_name: JOB_TYPE
|
|
|
|
a2: !!python/tuple ["firmware", "gateware", "manuals", "software"]
|
|
|
|
cmd: |
|
|
|
|
DOCKER_IMG="{docker_img}"
|
|
|
|
case "$JOB_TYPE" in
|
|
|
|
firmware|gateware|manuals)
|
|
|
|
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
|
2022-10-07 13:39:38 +00:00
|
|
|
pipeline_binpkgs: false
|
2020-12-17 14:32:43 +00:00
|
|
|
|
2022-10-11 11:36:21 +00:00
|
|
|
- osmo-ci:
|
|
|
|
pipeline_build: false
|
|
|
|
pipeline_binpkgs: false
|
|
|
|
|
2017-11-14 05:43:02 +00:00
|
|
|
- osmo-ggsn:
|
2017-12-04 12:42:05 +00:00
|
|
|
a1_name: GTP
|
2017-11-14 05:43:02 +00:00
|
|
|
a1: !!python/tuple [--enable-gtp-linux,--disable-gtp-linux]
|
2018-11-30 10:39:56 +00:00
|
|
|
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")
|
2019-09-19 13:06:10 +00:00
|
|
|
cmd: |
|
|
|
|
{docker_run} \
|
|
|
|
-e GTP="$GTP" \
|
|
|
|
-e WITH_MANUALS="$WITH_MANUALS" \
|
2020-12-22 16:15:58 +00:00
|
|
|
{docker_img} {timeout_cmd} /build/contrib/jenkins.sh
|
2017-11-14 05:43:02 +00:00
|
|
|
|
2017-10-29 11:56:34 +00:00
|
|
|
- osmo-gsm-manuals
|
2020-01-08 14:48:00 +00:00
|
|
|
|
|
|
|
- osmo_gsup:
|
|
|
|
repos_url: '{gerrit_url}/erlang/{repos}'
|
|
|
|
gerrit_project: 'erlang/{repos}'
|
2020-12-22 16:15:58 +00:00
|
|
|
cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh'
|
2022-10-07 13:39:38 +00:00
|
|
|
pipeline_binpkgs: false
|
2020-01-08 14:48:00 +00:00
|
|
|
|
2019-09-19 13:06:10 +00:00
|
|
|
- osmo-hlr
|
|
|
|
- osmo-iuh
|
2019-09-20 07:01:05 +00:00
|
|
|
- osmo-mgw
|
2017-09-12 11:16:33 +00:00
|
|
|
|
|
|
|
- osmo-msc:
|
|
|
|
a1_name: IU
|
|
|
|
a1: !!python/tuple [--enable-iu, --disable-iu]
|
2018-11-30 10:39:56 +00:00
|
|
|
a2_name: WITH_MANUALS
|
|
|
|
a2: !!python/tuple ["1", "0"]
|
|
|
|
combination_filter: >
|
|
|
|
(IU == "--enable-iu" && WITH_MANUALS == "0") ||
|
|
|
|
(IU == "--disable-iu" && WITH_MANUALS == "1")
|
2019-04-12 14:19:46 +00:00
|
|
|
cmd: |
|
2019-09-19 10:35:11 +00:00
|
|
|
{docker_run} \
|
2018-11-30 14:15:16 +00:00
|
|
|
-e IU="$IU" \
|
2018-11-30 10:39:56 +00:00
|
|
|
-e WITH_MANUALS="$WITH_MANUALS" \
|
2020-12-22 16:15:58 +00:00
|
|
|
{docker_img} {timeout_cmd} /build/contrib/jenkins.sh
|
2017-09-12 11:16:33 +00:00
|
|
|
|
2017-10-29 12:26:24 +00:00
|
|
|
- osmo-pcap
|
2017-10-29 11:56:34 +00:00
|
|
|
|
2017-09-12 11:16:33 +00:00
|
|
|
- osmo-pcu:
|
2022-11-28 11:29:45 +00:00
|
|
|
slave_axis: !!python/tuple [osmocom-gerrit, rpi4-raspbian11]
|
2017-09-12 11:16:33 +00:00
|
|
|
a1_name: FIRMWARE_VERSION
|
2019-03-27 17:36:22 +00:00
|
|
|
a1: !!python/tuple [master, v2017.01, litecell15, oc2g]
|
2017-09-12 11:16:33 +00:00
|
|
|
a2_name: with_vty
|
2018-01-12 15:15:04 +00:00
|
|
|
a2: !!python/tuple [True, False]
|
2017-09-12 11:16:33 +00:00
|
|
|
a3_name: with_dsp
|
2019-03-27 17:36:20 +00:00
|
|
|
a3: !!python/tuple [sysmo, lc15, oc2g, none]
|
2018-11-30 10:39:56 +00:00
|
|
|
a4_name: WITH_MANUALS
|
|
|
|
a4: !!python/tuple ["1", "0"]
|
2017-09-12 11:16:33 +00:00
|
|
|
combination_filter: >
|
2022-11-28 11:29:45 +00:00
|
|
|
(with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
|
|
|
|
(with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
|
|
|
|
(with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
|
|
|
|
(with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="litecell15" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
|
|
|
|
(with_vty == "True" && with_dsp == "oc2g" && FIRMWARE_VERSION=="oc2g" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
|
|
|
|
(with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1" && label == "osmocom-gerrit") ||
|
2022-03-03 10:57:16 +00:00
|
|
|
(with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-raspbian11")
|
2019-09-18 08:31:13 +00:00
|
|
|
cmd: |
|
2019-09-19 10:35:11 +00:00
|
|
|
{docker_run} \
|
2019-09-18 08:31:13 +00:00
|
|
|
-e FIRMWARE_VERSION="$FIRMWARE_VERSION" \
|
|
|
|
-e with_vty="$with_vty" \
|
|
|
|
-e with_dsp="$with_dsp" \
|
|
|
|
-e WITH_MANUALS="$WITH_MANUALS" \
|
2020-12-22 16:15:58 +00:00
|
|
|
{docker_img} {timeout_cmd} /build/contrib/jenkins.sh
|
2017-09-12 11:16:33 +00:00
|
|
|
|
2017-12-15 18:55:35 +00:00
|
|
|
- osmo-python-tests:
|
2020-01-14 13:22:06 +00:00
|
|
|
repos_url: '{gerrit_url}/python/{repos}'
|
2017-12-15 19:29:31 +00:00
|
|
|
gerrit_project: 'python/{repos}'
|
2017-12-11 12:18:14 +00:00
|
|
|
|
2017-09-12 11:16:33 +00:00
|
|
|
- osmo-sgsn:
|
|
|
|
a1_name: IU
|
|
|
|
a1: !!python/tuple [--enable-iu, --disable-iu]
|
2018-11-30 10:39:56 +00:00
|
|
|
a2_name: WITH_MANUALS
|
|
|
|
a2: !!python/tuple ["1", "0"]
|
|
|
|
combination_filter: >
|
|
|
|
(IU == "--enable-iu" && WITH_MANUALS == "0") ||
|
|
|
|
(IU == "--disable-iu" && WITH_MANUALS == "1")
|
2019-04-12 14:19:46 +00:00
|
|
|
cmd: |
|
2019-09-19 10:35:11 +00:00
|
|
|
{docker_run} \
|
2018-11-30 14:15:16 +00:00
|
|
|
-e IU="$IU" \
|
2018-11-30 10:39:56 +00:00
|
|
|
-e WITH_MANUALS="$WITH_MANUALS" \
|
2020-12-22 16:15:58 +00:00
|
|
|
{docker_img} {timeout_cmd} /build/contrib/jenkins.sh
|
2017-09-12 11:16:33 +00:00
|
|
|
|
2020-01-17 08:07:06 +00:00
|
|
|
- osmo_ss7:
|
|
|
|
repos_url: '{gerrit_url}/erlang/{repos}'
|
|
|
|
gerrit_project: 'erlang/{repos}'
|
2020-12-22 16:15:58 +00:00
|
|
|
cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh'
|
2022-10-07 13:39:38 +00:00
|
|
|
pipeline_binpkgs: false
|
2020-01-17 08:07:06 +00:00
|
|
|
|
2019-09-19 13:06:10 +00:00
|
|
|
- osmo-sip-connector
|
2017-10-29 11:56:34 +00:00
|
|
|
|
|
|
|
- osmo-trx:
|
2022-11-28 11:29:45 +00:00
|
|
|
slave_axis: !!python/tuple [osmocom-gerrit,rpi4-raspbian11]
|
2018-01-15 08:36:12 +00:00
|
|
|
a1_name: INSTR
|
2023-01-16 11:55:21 +00:00
|
|
|
a1: !!python/tuple [--with-sse, --without-sse, --with-neon, --with-neon-vfpv4]
|
2018-11-30 10:39:56 +00:00
|
|
|
a2_name: WITH_MANUALS
|
|
|
|
a2: !!python/tuple ["1", "0"]
|
|
|
|
combination_filter: >
|
2022-11-28 11:29:45 +00:00
|
|
|
(INSTR == "--without-sse" && WITH_MANUALS == "1" && label == "osmocom-gerrit") ||
|
|
|
|
(INSTR == "--with-sse" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
|
2022-03-03 10:57:16 +00:00
|
|
|
(INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") ||
|
|
|
|
(INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-raspbian11")
|
2021-01-12 10:24:45 +00:00
|
|
|
cmd: |
|
2021-03-09 07:53:15 +00:00
|
|
|
{docker_run} \
|
|
|
|
-e INSTR="$INSTR" \
|
|
|
|
-e WITH_MANUALS="$WITH_MANUALS" \
|
|
|
|
{docker_img} {timeout_cmd} /build/contrib/jenkins.sh
|
2017-10-29 11:56:34 +00:00
|
|
|
|
2022-10-07 13:39:38 +00:00
|
|
|
- osmocom-bb:
|
|
|
|
pipeline_binpkgs: false
|
|
|
|
|
|
|
|
- osmo-tetra:
|
|
|
|
pipeline_binpkgs: false
|
|
|
|
|
2018-06-05 17:12:13 +00:00
|
|
|
- osmo-sysmon
|
2018-10-14 18:52:48 +00:00
|
|
|
- osmo-remsim
|
2018-06-29 19:45:55 +00:00
|
|
|
- simtrace2
|
2022-10-07 13:39:38 +00:00
|
|
|
|
2022-07-12 10:30:58 +00:00
|
|
|
- osmo-opencm3-projects:
|
|
|
|
docker_img: '$USER/debian-bullseye-jenkins'
|
|
|
|
cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh'
|
2022-10-07 13:39:38 +00:00
|
|
|
pipeline_binpkgs: false
|
|
|
|
|
|
|
|
- osmo-asf4-dfu:
|
|
|
|
pipeline_binpkgs: false
|
|
|
|
|
|
|
|
- osmo-ccid-firmware:
|
|
|
|
pipeline_binpkgs: false
|
|
|
|
|
2019-05-11 19:08:47 +00:00
|
|
|
- osmo-e1d
|
2019-12-03 22:40:41 +00:00
|
|
|
- osmo-cbc
|
2022-10-07 13:39:38 +00:00
|
|
|
|
|
|
|
- osmo-e1-recorder:
|
|
|
|
pipeline_binpkgs: false
|
|
|
|
|
|
|
|
- gapk:
|
|
|
|
pipeline_binpkgs: false
|
|
|
|
|
2020-04-17 13:00:10 +00:00
|
|
|
- osmo-uecups
|
2022-10-07 13:39:38 +00:00
|
|
|
|
|
|
|
- osmo-el2tpd:
|
|
|
|
pipeline_binpkgs: false
|
|
|
|
|
2020-08-21 18:17:32 +00:00
|
|
|
- osmo-smlc
|
2021-01-31 18:28:36 +00:00
|
|
|
- osmo-gbproxy
|
2021-10-21 09:37:01 +00:00
|
|
|
- osmo-hnodeb
|
2022-01-04 18:30:30 +00:00
|
|
|
- osmo-hnbgw
|
2021-12-28 14:47:56 +00:00
|
|
|
- osmo-upf
|
2017-10-29 11:56:34 +00:00
|
|
|
|
2018-07-16 18:00:39 +00:00
|
|
|
- pysim:
|
2019-09-20 07:01:05 +00:00
|
|
|
concurrent: false
|
2022-11-28 11:29:45 +00:00
|
|
|
slave_axis: !!python/tuple [simtester,osmocom-gerrit]
|
2022-10-18 14:26:13 +00:00
|
|
|
a2_name: JOB_TYPE
|
|
|
|
a2: !!python/tuple ["test", "pylint", "docs"]
|
|
|
|
combination_filter: >
|
|
|
|
(JOB_TYPE == "test" && label == "simtester") ||
|
2022-11-28 11:29:45 +00:00
|
|
|
(JOB_TYPE == "pylint" && label == "osmocom-gerrit") ||
|
|
|
|
(JOB_TYPE == "docs" && label == "osmocom-gerrit")
|
2022-10-18 14:26:13 +00:00
|
|
|
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
|
2022-10-07 13:39:38 +00:00
|
|
|
pipeline_binpkgs: false
|
2018-07-16 18:00:39 +00:00
|
|
|
|
2017-12-12 16:28:26 +00:00
|
|
|
- osmo-ttcn3-hacks:
|
2018-04-10 16:57:40 +00:00
|
|
|
slave_axis: !!python/tuple [ttcn3]
|
2019-04-12 14:19:46 +00:00
|
|
|
cmd: |
|
2022-02-15 13:30:24 +00:00
|
|
|
docker run \
|
|
|
|
--rm \
|
|
|
|
-v "$PWD:/build" \
|
|
|
|
"registry.osmocom.org/osmocom-build/debian-bullseye-titan" \
|
|
|
|
{timeout_cmd} \
|
|
|
|
sh -e -x -c "
|
|
|
|
useradd --uid=1000 build;
|
|
|
|
cd /build;
|
|
|
|
su build -c 'make deps';
|
|
|
|
su build -c 'make clean';
|
|
|
|
su build -c 'make compile';
|
|
|
|
"
|
2022-10-07 13:39:38 +00:00
|
|
|
pipeline_binpkgs: false
|
2017-12-12 16:28:26 +00:00
|
|
|
|
2022-10-06 09:49:59 +00:00
|
|
|
- dahdi-tools:
|
|
|
|
pipeline_lint: false
|
2022-10-07 13:39:38 +00:00
|
|
|
pipeline_binpkgs: false
|
2022-02-21 20:23:58 +00:00
|
|
|
|
2017-09-12 11:16:33 +00:00
|
|
|
jobs:
|
2017-10-29 12:02:08 +00:00
|
|
|
- 'gerrit-{repos}'
|
2022-10-06 08:53:54 +00:00
|
|
|
- 'gerrit-{repos}-build'
|
2017-09-12 11:16:33 +00:00
|
|
|
|
|
|
|
- job-template:
|
2017-10-29 12:02:08 +00:00
|
|
|
name: 'gerrit-{repos}'
|
2022-10-06 08:53:54 +00:00
|
|
|
project-type: pipeline
|
2022-10-12 10:48:39 +00:00
|
|
|
concurrent: true
|
2022-10-06 09:40:30 +00:00
|
|
|
parameters:
|
|
|
|
- bool:
|
|
|
|
name: PIPELINE_BUILD
|
|
|
|
description: Enable the build job (runs contrib/jenkins.sh)
|
|
|
|
default: '{obj:pipeline_build}'
|
2022-10-06 09:49:59 +00:00
|
|
|
- bool:
|
|
|
|
name: PIPELINE_LINT
|
|
|
|
description: Enable the lint job
|
|
|
|
default: '{obj:pipeline_lint}'
|
|
|
|
- string:
|
|
|
|
name: REPO_URL
|
|
|
|
description: Clone URL, to be passed to jobs started in the pipeline
|
|
|
|
default: '{obj:repos_url}'
|
2022-10-07 13:39:38 +00:00
|
|
|
- bool:
|
|
|
|
name: PIPELINE_BINPKGS
|
|
|
|
description: Enable the binpkgs job (build deb/rpm packages)
|
|
|
|
default: '{obj:pipeline_binpkgs}'
|
2022-10-11 11:28:06 +00:00
|
|
|
# NOTE: jenkins pipelines don't run unless the dsl-script was approved.
|
|
|
|
# Sadly this doesn't happen automatically when updating the job with
|
|
|
|
# Jenkins Job Builder. So if you change the pipeline script, update the job
|
|
|
|
# as usually with JJB and then approve the scripts here:
|
|
|
|
# https://jenkins.osmocom.org/jenkins/scriptApproval/
|
2022-10-06 08:53:54 +00:00
|
|
|
dsl: |
|
|
|
|
pipeline {{
|
2022-10-14 09:28:25 +00:00
|
|
|
agent none
|
2022-10-06 08:53:54 +00:00
|
|
|
stages {{
|
|
|
|
stage("Verification") {{
|
|
|
|
parallel {{
|
|
|
|
stage("Build") {{
|
2022-10-06 09:40:30 +00:00
|
|
|
when {{
|
|
|
|
expression {{ params.PIPELINE_BUILD }}
|
|
|
|
}}
|
2022-10-06 08:53:54 +00:00
|
|
|
steps {{
|
|
|
|
script {{
|
|
|
|
// Run the build job for this repository and keep going on failure
|
|
|
|
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {{
|
|
|
|
env.PIPELINE_BUILD_PASSED = "0"
|
|
|
|
build job: 'gerrit-{repos}-build', parameters: [
|
|
|
|
string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"),
|
|
|
|
string(name: "GERRIT_REFSPEC", value: "${{env.GERRIT_REFSPEC}}"),
|
|
|
|
]
|
|
|
|
env.PIPELINE_BUILD_PASSED = "1"
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
}}
|
2022-10-06 09:49:59 +00:00
|
|
|
stage("Lint") {{
|
|
|
|
when {{
|
|
|
|
expression {{ params.PIPELINE_LINT }}
|
|
|
|
}}
|
|
|
|
steps {{
|
|
|
|
script {{
|
|
|
|
// Run the lint job for this repository and keep going on failure
|
|
|
|
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {{
|
|
|
|
env.PIPELINE_LINT_PASSED = "0"
|
|
|
|
build job: 'gerrit-lint', parameters: [
|
2022-11-14 13:35:58 +00:00
|
|
|
string(name: "GERRIT_PROJECT", value: "${{env.GERRIT_PROJECT}}"),
|
|
|
|
string(name: "GERRIT_CHANGE_NUMBER", value: "${{env.GERRIT_CHANGE_NUMBER}}"),
|
|
|
|
string(name: "GERRIT_PATCHSET_NUMBER", value: "${{env.GERRIT_PATCHSET_NUMBER}}"),
|
2022-10-06 09:49:59 +00:00
|
|
|
string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"),
|
|
|
|
string(name: "GERRIT_HOST", value: "${{env.GERRIT_HOST}}"),
|
|
|
|
string(name: "GERRIT_PATCHSET_REVISION", value: "${{env.GERRIT_PATCHSET_REVISION}}"),
|
|
|
|
string(name: "GERRIT_PORT", value: "${{env.GERRIT_PORT}}"),
|
|
|
|
string(name: "GERRIT_REFSPEC", value: "${{env.GERRIT_REFSPEC}}"),
|
|
|
|
string(name: "GERRIT_REPO_URL", value: "${{env.REPO_URL}}"),
|
|
|
|
]
|
|
|
|
env.PIPELINE_LINT_PASSED = "1"
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
}}
|
2022-10-07 13:39:38 +00:00
|
|
|
stage("deb") {{
|
|
|
|
when {{
|
|
|
|
expression {{ params.PIPELINE_BINPKGS }}
|
|
|
|
}}
|
|
|
|
steps {{
|
|
|
|
script {{
|
|
|
|
// Run the binpkgs job for this repository and keep going on failure
|
|
|
|
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {{
|
|
|
|
env.PIPELINE_DEB_PASSED = "0"
|
|
|
|
build job: 'gerrit-binpkgs-deb', parameters: [
|
|
|
|
string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"),
|
|
|
|
string(name: "GERRIT_REFSPEC", value: "${{env.GERRIT_REFSPEC}}"),
|
|
|
|
string(name: "GERRIT_REPO_URL", value: "${{env.REPO_URL}}"),
|
|
|
|
string(name: "PROJECT_NAME", value: "{repos}"),
|
|
|
|
]
|
|
|
|
env.PIPELINE_DEB_PASSED = "1"
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
stage("rpm") {{
|
|
|
|
when {{
|
|
|
|
expression {{ params.PIPELINE_BINPKGS }}
|
|
|
|
}}
|
|
|
|
steps {{
|
|
|
|
script {{
|
|
|
|
// Run the binpkgs job for this repository and keep going on failure
|
|
|
|
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {{
|
|
|
|
env.PIPELINE_RPM_PASSED = "0"
|
|
|
|
build job: 'gerrit-binpkgs-rpm', parameters: [
|
|
|
|
string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"),
|
|
|
|
string(name: "GERRIT_REFSPEC", value: "${{env.GERRIT_REFSPEC}}"),
|
|
|
|
string(name: "GERRIT_REPO_URL", value: "${{env.REPO_URL}}"),
|
|
|
|
string(name: "PROJECT_NAME", value: "{repos}"),
|
|
|
|
]
|
|
|
|
env.PIPELINE_RPM_PASSED = "1"
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
}}
|
2022-10-06 08:53:54 +00:00
|
|
|
}}
|
|
|
|
}}
|
2023-01-16 12:59:01 +00:00
|
|
|
stage("Result Comment") {{
|
2022-10-06 08:53:54 +00:00
|
|
|
steps {{
|
|
|
|
echo "PIPELINE_BUILD_PASSED=${{env.PIPELINE_BUILD_PASSED}}"
|
2022-10-06 09:49:59 +00:00
|
|
|
echo "PIPELINE_LINT_PASSED=${{env.PIPELINE_LINT_PASSED}}"
|
2022-10-07 13:39:38 +00:00
|
|
|
echo "PIPELINE_DEB_PASSED=${{env.PIPELINE_DEB_PASSED}}"
|
|
|
|
echo "PIPELINE_RPM_PASSED=${{env.PIPELINE_RPM_PASSED}}"
|
2022-10-07 08:16:24 +00:00
|
|
|
|
2023-01-16 12:59:01 +00:00
|
|
|
// Run the comment job to get successful/failed links and add a
|
2022-10-07 08:16:24 +00:00
|
|
|
// comment + vote to gerrit
|
|
|
|
script {{
|
2023-01-16 12:59:01 +00:00
|
|
|
build job: 'gerrit-verifications-comment', parameters: [
|
2022-11-14 13:35:58 +00:00
|
|
|
string(name: "GERRIT_PROJECT", value: "${{env.GERRIT_PROJECT}}"),
|
|
|
|
string(name: "GERRIT_CHANGE_NUMBER", value: "${{env.GERRIT_CHANGE_NUMBER}}"),
|
|
|
|
string(name: "GERRIT_PATCHSET_NUMBER", value: "${{env.GERRIT_PATCHSET_NUMBER}}"),
|
2022-10-07 08:16:24 +00:00
|
|
|
string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"),
|
|
|
|
string(name: "GERRIT_HOST", value: "${{env.GERRIT_HOST}}"),
|
|
|
|
string(name: "GERRIT_PATCHSET_REVISION", value: "${{env.GERRIT_PATCHSET_REVISION}}"),
|
2022-10-27 14:29:39 +00:00
|
|
|
string(name: "GERRIT_PATCHSET_UPLOADER_NAME", value: "${{env.GERRIT_PATCHSET_UPLOADER_NAME}}"),
|
2022-10-07 08:16:24 +00:00
|
|
|
string(name: "GERRIT_PORT", value: "${{env.GERRIT_PORT}}"),
|
|
|
|
string(name: "GERRIT_REFSPEC", value: "${{env.GERRIT_REFSPEC}}"),
|
|
|
|
string(name: "PIPELINE_BUILD_URL", value: "${{env.BUILD_URL}}"),
|
|
|
|
]
|
|
|
|
}}
|
2022-10-06 08:53:54 +00:00
|
|
|
}}
|
|
|
|
}}
|
|
|
|
// The end result is success if all started jobs were successful,
|
|
|
|
// and failed otherwise.
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
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: |
|
|
|
|
Pipeline of CI for patches sent to
|
|
|
|
<a href="https://gerrit.osmocom.org/#/q/status:open+project:{repos}">{repos}</a>
|
|
|
|
<br/><br/>
|
|
|
|
<b>Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY!</b>
|
|
|
|
|
|
|
|
scm:
|
|
|
|
- git:
|
|
|
|
url: '{obj:repos_url}'
|
|
|
|
credentials-id: d5eda5e9-b59d-44ba-88d2-43473cb6e42d
|
|
|
|
branches:
|
|
|
|
- $GERRIT_BRANCH
|
|
|
|
refspec: $GERRIT_REFSPEC
|
|
|
|
name:
|
|
|
|
choosing-strategy: gerrit
|
|
|
|
wipe-workspace: false
|
|
|
|
skip-tag: true
|
|
|
|
submodule:
|
|
|
|
recursive: true
|
|
|
|
|
|
|
|
triggers:
|
|
|
|
- gerrit:
|
|
|
|
trigger-on:
|
|
|
|
- patchset-created-event:
|
|
|
|
exclude-drafts: true
|
|
|
|
exclude-no-code-change: true
|
|
|
|
projects:
|
|
|
|
- project-compare-type: 'PLAIN'
|
|
|
|
project-pattern: '{obj:gerrit_project}'
|
|
|
|
branches:
|
|
|
|
- branch-compare-type: 'ANT'
|
|
|
|
branch-pattern: '**'
|
|
|
|
skip-vote:
|
|
|
|
successful: false
|
|
|
|
failed: false
|
|
|
|
unstable: false
|
|
|
|
notbuilt: false
|
2022-10-07 08:16:24 +00:00
|
|
|
silent: true # comment + vote is done in gerrit-pipeline-result.yml
|
2022-10-06 08:53:54 +00:00
|
|
|
escape-quotes: false
|
|
|
|
server-name: gerrit.osmocom.org
|
|
|
|
|
|
|
|
- job-template:
|
|
|
|
name: 'gerrit-{repos}-build'
|
2017-09-12 11:16:33 +00:00
|
|
|
project-type: matrix
|
|
|
|
concurrent: '{obj:concurrent}'
|
|
|
|
disabled: '{obj:disabled}'
|
|
|
|
retry-count: 3 # scm checkout
|
2017-12-09 00:11:01 +00:00
|
|
|
properties:
|
|
|
|
- build-discarder:
|
|
|
|
days-to-keep: 30
|
|
|
|
num-to-keep: 120
|
|
|
|
artifact-days-to-keep: -1
|
|
|
|
artifact-num-to-keep: -1
|
2017-10-29 12:02:44 +00:00
|
|
|
description: |
|
2022-10-06 08:53:54 +00:00
|
|
|
Build job of CI for patches sent to
|
2017-10-29 12:15:10 +00:00
|
|
|
<a href="https://gerrit.osmocom.org/#/q/status:open+project:{repos}">{repos}</a>
|
2017-10-29 12:02:44 +00:00
|
|
|
<br/><br/>
|
|
|
|
<b>Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY!</b>
|
2017-09-12 11:16:33 +00:00
|
|
|
|
|
|
|
execution-strategy:
|
2018-01-22 15:27:38 +00:00
|
|
|
sequential: '{obj:sequential}'
|
2017-09-12 11:16:33 +00:00
|
|
|
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:
|
2017-12-15 18:54:29 +00:00
|
|
|
url: '{obj:repos_url}'
|
2017-09-12 11:16:33 +00:00
|
|
|
credentials-id: d5eda5e9-b59d-44ba-88d2-43473cb6e42d
|
|
|
|
branches:
|
|
|
|
- $GERRIT_BRANCH
|
2017-10-29 16:52:17 +00:00
|
|
|
refspec: $GERRIT_REFSPEC
|
|
|
|
name:
|
2017-09-12 11:16:33 +00:00
|
|
|
choosing-strategy: gerrit
|
|
|
|
wipe-workspace: false
|
|
|
|
skip-tag: true
|
2020-12-17 14:32:43 +00:00
|
|
|
submodule:
|
|
|
|
recursive: true
|
2017-09-12 11:16:33 +00:00
|
|
|
|
2022-10-06 08:53:54 +00:00
|
|
|
parameters:
|
|
|
|
- string:
|
|
|
|
name: GERRIT_BRANCH
|
|
|
|
description: set by gerrit-{repos} job
|
|
|
|
- string:
|
|
|
|
name: GERRIT_REFSPEC
|
|
|
|
description: set by gerrit-{repos} job
|
2017-09-12 11:16:33 +00:00
|
|
|
|
|
|
|
builders:
|
|
|
|
- shell: '{obj:cmd}'
|
|
|
|
|
|
|
|
publishers:
|
|
|
|
- warnings:
|
|
|
|
console-log-parsers:
|
|
|
|
- 'GNU C Compiler 4 (gcc)'
|
|
|
|
resolve-relative-paths: true
|
2017-10-30 03:02:11 +00:00
|
|
|
|
|
|
|
# vim: expandtab tabstop=2 shiftwidth=2
|