blob: 1a5d656935234df4af5f289b2355a5b74577d9ea [file] [log] [blame]
Oliver Smith1658ff52021-06-16 13:56:34 +02001# This file holds all gerrit build verifications https://jenkins.osmocom.org/jenkins/view/Jenkins-Gerrit/.
Oliver Smithc3bab9a2022-10-06 10:53:54 +02002# One can simply add a gerrit job by adding project's repository to repos list.
3#
Oliver Smithd602a292022-10-11 15:19:12 +02004# Overview of jobs involved in the pipeline:
5# https://osmocom.org/projects/osmocom-servers/wiki/Jenkins_gerrit-verifications_Pipeline
6#
Oliver Smithc3bab9a2022-10-06 10:53:54 +02007# How it works:
8# * Two jobs get added for each repository:
9# gerrit-{repos}
10# gerrit-{repos}-build
11# * The gerrit-{repos} job is a pipeline that runs the gerrit-{repos}-build job
12# and other jobs (linting, building debian packages, ...). The purpose of
13# this job is to reduce the amount of comments (and resulting mails) in
14# gerrit coming from the jenkins build verification. If each job ran
15# separately without this pipeline job, they would each generate mails.
16# The gerrit-{repos} job gets triggered from gerrit whenever a new patch to
17# test is available. It passes the GERRIT_BRANCH and GERRIT_REFSPEC variables
18# from gerrit to the jobs called in the pipeline.
19# * The gerrit-{repos}-build job runs contrib/jenkins.sh in docker in a matrix.
20# By default the matrix results in only one job, however for some projects we
21# use the matrix to build for multiple CPU architectures (x86_64, arm) or use
22# it to build multiple configurations of the same project (see osmo-bts).
Oliver Smithb4dca822022-10-11 13:28:06 +020023#
24# NOTE: after updating the job with Jenkins Job Builder as usual, check if a
25# new pipeline script was generated and approve it here:
26# https://jenkins.osmocom.org/jenkins/scriptApproval/
Oliver Smitha4d780c2023-07-27 11:25:35 +020027# This used to be necessary when changing the pipeline script, adding new
28# projects etc. But it seems to get auto-approved now.
André Boddenberg6c401be2017-09-12 13:16:33 +020029
30- project:
31 name: gerrit
32 # following default values can be overridden by each repo
33 disabled: false
Oliver Smithf58d2232019-09-20 09:01:05 +020034 concurrent: true
André Boddenberg6c401be2017-09-12 13:16:33 +020035 # axes related defaults
Oliver Smithffd4e392022-11-28 12:29:45 +010036 slave_axis: !!python/tuple [osmocom-gerrit]
André Boddenberg6c401be2017-09-12 13:16:33 +020037 a1_name: a1
38 a1: !!python/tuple [default]
39 a2_name: a2
40 a2: !!python/tuple [default]
41 a3_name: a3
42 a3: !!python/tuple [default]
43 a4_name: a4
44 a4: !!python/tuple [default]
45 combination_filter: ''
Max9294d212018-01-22 16:27:38 +010046 sequential: false
André Boddenberg6c401be2017-09-12 13:16:33 +020047 # most common build invocation
Oliver Smitha8153572019-09-20 10:43:03 +020048 # SYS_PTRACE is needed for ASAN (https://github.com/google/sanitizers/issues/764)
Oliver Smith02bb4042019-12-04 10:47:53 +010049 # Documentation for variables (keep in sync!):
50 # https://osmocom.org/projects/osmocom-servers/wiki/Jenkins_build_verification_jobs
Oliver Smitha5fb5482019-09-19 12:35:11 +020051 docker_run: |
Oliver Smitha5fb5482019-09-19 12:35:11 +020052 docker run --rm=true \
Oliver Smitha8153572019-09-20 10:43:03 +020053 --cap-add SYS_PTRACE \
Oliver Smitha5fb5482019-09-19 12:35:11 +020054 -e ASCIIDOC_WARNINGS_CHECK="1" \
55 -e HOME=/build \
56 -e JOB_NAME="$JOB_NAME" \
57 -e MAKE=make \
58 -e OSMOPY_DEBUG_TCP_SOCKETS="1" \
Oliver Smith212e43f2021-01-12 13:50:44 +010059 -e OSMO_GSM_MANUALS_DIR="/opt/osmo-gsm-manuals" \
Oliver Smitha5fb5482019-09-19 12:35:11 +020060 -e PARALLEL_MAKE="$PARALLEL_MAKE" \
Oliver Smitha5fb5482019-09-19 12:35:11 +020061 -e WITH_MANUALS="1" \
62 -w /build -i -u build \
Oliver Smithde5aa172021-01-11 14:49:53 +010063 -v "$PWD:/build" \
Oliver Smitha788a8b2023-01-24 14:32:15 +010064 docker_run_ccache: |
Oliver Smith4773f262023-01-24 14:17:54 +010065 CCACHE_DIR="$HOME/ccache/gerrit-verifications"
66 mkdir -p "$CCACHE_DIR"
67 chown osmocom-build:osmocom-build "$CCACHE_DIR"
68
Oliver Smitha788a8b2023-01-24 14:32:15 +010069 docker run --rm=true \
70 --cap-add SYS_PTRACE \
71 -e ASCIIDOC_WARNINGS_CHECK="1" \
72 -e HOME=/build \
73 -e JOB_NAME="$JOB_NAME" \
74 -e MAKE=make \
75 -e OSMOPY_DEBUG_TCP_SOCKETS="1" \
76 -e OSMO_GSM_MANUALS_DIR="/opt/osmo-gsm-manuals" \
77 -e PARALLEL_MAKE="$PARALLEL_MAKE" \
78 -e WITH_MANUALS="1" \
79 -w /build -i -u build \
80 -v "$PWD:/build" \
81 \
82 -e CCACHE_DIR="/ccache" \
83 -e PATH="/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \
Oliver Smith4773f262023-01-24 14:17:54 +010084 -v "$CCACHE_DIR:/ccache" \
Oliver Smithf71fcef2023-07-12 16:53:00 +020085 docker_img: '$USER/debian-bookworm-build'
86 docker_img_erlang: '$USER/debian-bookworm-erlang'
Daniel Willmanne7b15942020-12-22 17:15:58 +010087 timeout_cmd: '/usr/bin/timeout 30m'
Oliver Smitha788a8b2023-01-24 14:32:15 +010088 cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh'
Oliver Smith51e91cd2020-01-14 14:22:06 +010089 gerrit_url: 'ssh://jenkins@gerrit.osmocom.org:29418'
90 repos_url: '{gerrit_url}/{repos}'
Neels Hofmeyr85f74b52017-12-15 20:29:31 +010091 gerrit_project: '{repos}'
Oliver Smith4d214f42022-10-06 11:40:30 +020092 # Which jobs to run in the pipeline
93 pipeline_build: true
Oliver Smith58ecce92022-10-06 11:49:59 +020094 pipeline_lint: true
Oliver Smithb997fa92024-02-14 16:27:44 +010095 pipeline_binpkgs: "debian:10 debian:12"
André Boddenberg6c401be2017-09-12 13:16:33 +020096
Harald Welte3027ead2017-10-29 11:56:34 +000097 # in alphabetical order
André Boddenberg6c401be2017-09-12 13:16:33 +020098 repos:
Oliver Smith9e1f9ae2022-10-07 15:39:38 +020099 - asn1c:
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200100 pipeline_binpkgs: ""
Oliver Smith36df36f2023-07-17 11:57:37 +0200101 pipeline_lint: false
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200102
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200103 - cellmgr-ng:
Oliver Smith7277e432023-07-27 10:53:43 +0200104 pipeline_binpkgs: "debian:10 debian:12"
Oliver Smith58ecce92022-10-06 11:49:59 +0200105
106 - docker-playground:
107 pipeline_build: false
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200108 pipeline_binpkgs: ""
Oliver Smith58ecce92022-10-06 11:49:59 +0200109
Harald Welte64c82cd2017-10-29 13:26:24 +0100110 - libasn1c
Harald Welteb9f2e752017-11-12 22:31:35 +0900111 - libgtpnl
Harald Welte64c82cd2017-10-29 13:26:24 +0100112 - libosmo-abis
Vadim Yanitskiyac0b6632022-08-10 04:24:30 +0700113 - libosmo-gprs
Harald Welte64c82cd2017-10-29 13:26:24 +0100114 - libosmo-netif
Neels Hofmeyr38d569d2022-06-17 16:33:10 +0200115 - libosmo-pfcp
Oliver Smithb082c962019-09-19 15:06:10 +0200116 - libosmo-sccp
Harald Welte3027ead2017-10-29 11:56:34 +0000117
118 - libosmocore:
Oliver Smithcd0de592024-03-20 10:51:04 +0100119 slave_axis: !!python/tuple [io_uring] # OS#6405
Harald Welte3027ead2017-10-29 11:56:34 +0000120 a1_name: arch
121 a1: !!python/tuple [arm-none-eabi, amd64]
122 combination_filter: '!(arch=="arm-none-eabi" && label=="FreeBSD_amd64")'
Oliver Smitha788a8b2023-01-24 14:32:15 +0100123 cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins_arch.sh "$arch"'
Oliver Smith91a79bd2024-05-08 11:30:18 +0200124 pipeline_binpkgs: "centos:7 debian:10 debian:12" # centos7: SYS#6760
André Boddenberg6c401be2017-09-12 13:16:33 +0200125
Harald Welte64c82cd2017-10-29 13:26:24 +0100126 - libsmpp34
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200127
128 - libtelnet:
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200129 pipeline_binpkgs: ""
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200130
Oliver Smithb997fa92024-02-14 16:27:44 +0100131 - libusrp
André Boddenberg6c401be2017-09-12 13:16:33 +0200132
Neels Hofmeyrccafbb72017-11-01 14:42:03 +0100133 - openbsc:
André Boddenberg6c401be2017-09-12 13:16:33 +0200134 a1_name: SMPP
135 a1: !!python/tuple [--enable-smpp]
136 a2_name: MGCP
137 a2: !!python/tuple [--enable-mgcp-transcoding, --disable-mgcp-transcoding]
138 a3_name: IU
139 a3: !!python/tuple [--disable-iu]
Oliver Smith61b9e762019-04-12 16:19:46 +0200140 cmd: |
Oliver Smitha788a8b2023-01-24 14:32:15 +0100141 {docker_run_ccache} \
Oliver Smith03d5f4c2018-11-30 15:15:16 +0100142 -e IU="$IU" \
143 -e SMPP="$SMPP" \
144 -e MGCP="$MGCP" \
Daniel Willmanne7b15942020-12-22 17:15:58 +0100145 {docker_img} {timeout_cmd} /build/contrib/jenkins.sh
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200146 pipeline_binpkgs: ""
André Boddenberg6c401be2017-09-12 13:16:33 +0200147
Harald Welte92525a72017-11-14 14:43:02 +0900148 - openggsn:
149 a1_name: GTP
150 a1: !!python/tuple [--enable-gtp-linux,--disable-gtp-linux]
Oliver Smithf58d2232019-09-20 09:01:05 +0200151 concurrent: false
Daniel Willmanne7b15942020-12-22 17:15:58 +0100152 cmd: '{timeout_cmd} ./contrib/jenkins.sh'
Harald Welte3027ead2017-10-29 11:56:34 +0000153
Oliver Smithf58d2232019-09-20 09:01:05 +0200154 - osmo-bsc
Oliver Smithc04fb382022-01-31 14:05:34 +0100155 - osmo-bsc-nat
Harald Welte3027ead2017-10-29 11:56:34 +0000156
157 - osmo-bts:
Oliver Smithffd4e392022-11-28 12:29:45 +0100158 slave_axis: !!python/tuple [osmocom-gerrit, rpi4-raspbian11]
Harald Welte3027ead2017-10-29 11:56:34 +0000159 a1_name: FIRMWARE_VERSION
Harald Welte64d1d6c2018-10-27 13:38:21 +0200160 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]
Harald Welte3027ead2017-10-29 11:56:34 +0000161 a2_name: BTS_MODEL
Harald Weltec466dcf2018-10-26 16:08:33 +0200162 a2: !!python/tuple [sysmo, oct, trx, oct+trx, lc15, oc2g]
Oliver Smithe5e37732018-11-30 11:39:56 +0100163 a3_name: WITH_MANUALS
164 a3: !!python/tuple ["1", "0"]
Harald Welte3027ead2017-10-29 11:56:34 +0000165 combination_filter: >
Oliver Smithffd4e392022-11-28 12:29:45 +0100166 (FIRMWARE_VERSION == "master" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
Oliver Smith382aebd2022-03-03 11:57:16 +0100167 (FIRMWARE_VERSION == "master" && BTS_MODEL == "trx" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") ||
Oliver Smithffd4e392022-11-28 12:29:45 +0100168 (FIRMWARE_VERSION == "femtobts_v2.7" && BTS_MODEL == "sysmo" && WITH_MANUALS == "1" && label == "osmocom-gerrit") ||
169 (FIRMWARE_VERSION == "superfemto_v2.4" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
170 (FIRMWARE_VERSION == "superfemto_v3.0.1pre" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
171 (FIRMWARE_VERSION == "superfemto_v3.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
172 (FIRMWARE_VERSION == "superfemto_v5.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
173 (FIRMWARE_VERSION == "v2017.01" && BTS_MODEL == "lc15" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
174 (FIRMWARE_VERSION == "litecell15" && BTS_MODEL == "lc15" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
175 (FIRMWARE_VERSION == "oc2g" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
176 (FIRMWARE_VERSION == "oc2g-next" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0" && label == "osmocom-gerrit")
Oliver Smithf58d2232019-09-20 09:01:05 +0200177 concurrent: false
Oliver Smith24a56092021-01-12 11:24:45 +0100178 cmd: |
Oliver Smithc9149672023-01-23 13:44:28 +0100179 DOCKER_IMG="{docker_img}"
180 case "$(arch)" in
181 arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;;
182 esac
Oliver Smitha788a8b2023-01-24 14:32:15 +0100183 {docker_run_ccache} \
Oliver Smith463a6cc2021-03-09 08:53:15 +0100184 -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \
185 -e WITH_MANUALS="$WITH_MANUALS" \
Oliver Smithc9149672023-01-23 13:44:28 +0100186 "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins_bts_model.sh "$BTS_MODEL"
Harald Welte3027ead2017-10-29 11:56:34 +0000187
Oliver Smithaadc60f2020-01-08 15:48:00 +0100188 - osmo_dia2gsup:
189 repos_url: '{gerrit_url}/erlang/{repos}'
190 gerrit_project: 'erlang/{repos}'
Daniel Willmanne7b15942020-12-22 17:15:58 +0100191 cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh'
Oliver Smithe4ac3ae2023-08-23 16:59:28 +0200192 pipeline_binpkgs: "debian:11 debian:12"
Oliver Smithaadc60f2020-01-08 15:48:00 +0100193
Pau Espin Pedrol9b9b2a22023-10-05 16:22:49 +0200194 - osmo-epdg:
195 repos_url: '{gerrit_url}/erlang/{repos}'
196 gerrit_project: 'erlang/{repos}'
197 cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh'
Oliver Smithe2f71fd2024-02-23 10:10:11 +0100198 pipeline_binpkgs: "debian:12"
Pau Espin Pedrol9b9b2a22023-10-05 16:22:49 +0200199
Harald Weltecbce5262020-12-17 15:32:43 +0100200 - osmo-e1-hardware:
Oliver Smithae69a1a2022-11-03 10:25:22 +0100201 a2_name: JOB_TYPE
202 a2: !!python/tuple ["firmware", "gateware", "manuals", "software"]
203 cmd: |
204 DOCKER_IMG="{docker_img}"
205 case "$JOB_TYPE" in
206 firmware|gateware|manuals)
207 DOCKER_IMG="registry.osmocom.org/$USER/fpga-build"
208 docker pull "$DOCKER_IMG"
209 ;;
210 esac
211 {docker_run} \
212 -e JOB_TYPE="$JOB_TYPE" \
213 "$DOCKER_IMG" \
214 {timeout_cmd} /build/contrib/jenkins.sh
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200215 pipeline_binpkgs: ""
Harald Weltecbce5262020-12-17 15:32:43 +0100216
Oliver Smith05e836e2022-10-11 13:36:21 +0200217 - osmo-ci:
218 pipeline_build: false
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200219 pipeline_binpkgs: ""
Oliver Smith05e836e2022-10-11 13:36:21 +0200220
Harald Welte92525a72017-11-14 14:43:02 +0900221 - osmo-ggsn:
Pau Espin Pedrol787a51f2017-12-04 13:42:05 +0100222 a1_name: GTP
Harald Welte92525a72017-11-14 14:43:02 +0900223 a1: !!python/tuple [--enable-gtp-linux,--disable-gtp-linux]
Oliver Smithe5e37732018-11-30 11:39:56 +0100224 a2_name: WITH_MANUALS
225 a2: !!python/tuple ["1", "0"]
226 combination_filter: >
227 (GTP == "--enable-gtp-linux" && WITH_MANUALS == "0") ||
228 (GTP == "--disable-gtp-linux" && WITH_MANUALS == "1")
Oliver Smithb082c962019-09-19 15:06:10 +0200229 cmd: |
Oliver Smitha788a8b2023-01-24 14:32:15 +0100230 {docker_run_ccache} \
Oliver Smithb082c962019-09-19 15:06:10 +0200231 -e GTP="$GTP" \
232 -e WITH_MANUALS="$WITH_MANUALS" \
Daniel Willmanne7b15942020-12-22 17:15:58 +0100233 {docker_img} {timeout_cmd} /build/contrib/jenkins.sh
Harald Welte92525a72017-11-14 14:43:02 +0900234
Oliver Smith4170c2b2023-02-10 11:26:17 +0100235 - osmo-gsm-manuals:
Oliver Smith7277e432023-07-27 10:53:43 +0200236 pipeline_binpkgs: "debian:10 debian:12"
Oliver Smithaadc60f2020-01-08 15:48:00 +0100237
238 - osmo_gsup:
239 repos_url: '{gerrit_url}/erlang/{repos}'
240 gerrit_project: 'erlang/{repos}'
Oliver Smitha788a8b2023-01-24 14:32:15 +0100241 cmd: '{docker_run_ccache} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh'
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200242 pipeline_binpkgs: ""
Oliver Smithaadc60f2020-01-08 15:48:00 +0100243
Oliver Smithb082c962019-09-19 15:06:10 +0200244 - osmo-hlr
245 - osmo-iuh
Oliver Smithf58d2232019-09-20 09:01:05 +0200246 - osmo-mgw
André Boddenberg6c401be2017-09-12 13:16:33 +0200247
248 - osmo-msc:
249 a1_name: IU
250 a1: !!python/tuple [--enable-iu, --disable-iu]
Oliver Smithe5e37732018-11-30 11:39:56 +0100251 a2_name: WITH_MANUALS
252 a2: !!python/tuple ["1", "0"]
Oliver Smithe5e37732018-11-30 11:39:56 +0100253 combination_filter: >
Oliver Smith684a8f22023-04-25 12:08:48 +0200254 (IU == "--enable-iu" && WITH_MANUALS == "1") ||
255 (IU == "--disable-iu" && WITH_MANUALS == "0")
Oliver Smith61b9e762019-04-12 16:19:46 +0200256 cmd: |
Oliver Smitha788a8b2023-01-24 14:32:15 +0100257 {docker_run_ccache} \
Oliver Smith03d5f4c2018-11-30 15:15:16 +0100258 -e IU="$IU" \
Oliver Smithe5e37732018-11-30 11:39:56 +0100259 -e WITH_MANUALS="$WITH_MANUALS" \
Daniel Willmanne7b15942020-12-22 17:15:58 +0100260 {docker_img} {timeout_cmd} /build/contrib/jenkins.sh
André Boddenberg6c401be2017-09-12 13:16:33 +0200261
Oliver Smith91a79bd2024-05-08 11:30:18 +0200262 - osmo-pcap:
263 pipeline_binpkgs: "centos:7 debian:10 debian:12" # centos7: SYS#6760
Harald Welte3027ead2017-10-29 11:56:34 +0000264
André Boddenberg6c401be2017-09-12 13:16:33 +0200265 - osmo-pcu:
Oliver Smithffd4e392022-11-28 12:29:45 +0100266 slave_axis: !!python/tuple [osmocom-gerrit, rpi4-raspbian11]
André Boddenberg6c401be2017-09-12 13:16:33 +0200267 a1_name: FIRMWARE_VERSION
Daniel Willmann627bf3d2019-03-27 18:36:22 +0100268 a1: !!python/tuple [master, v2017.01, litecell15, oc2g]
André Boddenberg6c401be2017-09-12 13:16:33 +0200269 a2_name: with_vty
Max971489d2018-01-12 16:15:04 +0100270 a2: !!python/tuple [True, False]
André Boddenberg6c401be2017-09-12 13:16:33 +0200271 a3_name: with_dsp
Daniel Willmann53fabad2019-03-27 18:36:20 +0100272 a3: !!python/tuple [sysmo, lc15, oc2g, none]
Oliver Smithe5e37732018-11-30 11:39:56 +0100273 a4_name: WITH_MANUALS
274 a4: !!python/tuple ["1", "0"]
André Boddenberg6c401be2017-09-12 13:16:33 +0200275 combination_filter: >
Oliver Smithffd4e392022-11-28 12:29:45 +0100276 (with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
277 (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
278 (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
279 (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="litecell15" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
280 (with_vty == "True" && with_dsp == "oc2g" && FIRMWARE_VERSION=="oc2g" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
281 (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1" && label == "osmocom-gerrit") ||
Oliver Smith382aebd2022-03-03 11:57:16 +0100282 (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-raspbian11")
Oliver Smith5ca12a82019-09-18 10:31:13 +0200283 cmd: |
Oliver Smithc9149672023-01-23 13:44:28 +0100284 DOCKER_IMG="{docker_img}"
285 case "$(arch)" in
286 arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;;
287 esac
Oliver Smitha788a8b2023-01-24 14:32:15 +0100288 {docker_run_ccache} \
Oliver Smith5ca12a82019-09-18 10:31:13 +0200289 -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \
290 -e with_vty="$with_vty" \
291 -e with_dsp="$with_dsp" \
292 -e WITH_MANUALS="$WITH_MANUALS" \
Oliver Smithc9149672023-01-23 13:44:28 +0100293 "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins.sh
André Boddenberg6c401be2017-09-12 13:16:33 +0200294
Neels Hofmeyrfd7b2aa2017-12-15 19:55:35 +0100295 - osmo-python-tests:
Oliver Smith51e91cd2020-01-14 14:22:06 +0100296 repos_url: '{gerrit_url}/python/{repos}'
Neels Hofmeyr85f74b52017-12-15 20:29:31 +0100297 gerrit_project: 'python/{repos}'
Oliver Smith7277e432023-07-27 10:53:43 +0200298 pipeline_binpkgs: "debian:10 debian:12"
Max1e857dc2017-12-11 13:18:14 +0100299
André Boddenberg6c401be2017-09-12 13:16:33 +0200300 - osmo-sgsn:
André Boddenberg6c401be2017-09-12 13:16:33 +0200301 a1_name: IU
302 a1: !!python/tuple [--enable-iu, --disable-iu]
Oliver Smithe5e37732018-11-30 11:39:56 +0100303 a2_name: WITH_MANUALS
304 a2: !!python/tuple ["1", "0"]
Oliver Smithe5e37732018-11-30 11:39:56 +0100305 combination_filter: >
Oliver Smith684a8f22023-04-25 12:08:48 +0200306 (IU == "--enable-iu" && WITH_MANUALS == "1") ||
307 (IU == "--disable-iu" && WITH_MANUALS == "0")
Oliver Smith61b9e762019-04-12 16:19:46 +0200308 cmd: |
Oliver Smitha788a8b2023-01-24 14:32:15 +0100309 {docker_run_ccache} \
Oliver Smith03d5f4c2018-11-30 15:15:16 +0100310 -e IU="$IU" \
Oliver Smithe5e37732018-11-30 11:39:56 +0100311 -e WITH_MANUALS="$WITH_MANUALS" \
Daniel Willmanne7b15942020-12-22 17:15:58 +0100312 {docker_img} {timeout_cmd} /build/contrib/jenkins.sh
André Boddenberg6c401be2017-09-12 13:16:33 +0200313
Oliver Smithfb3dc0b2020-01-17 09:07:06 +0100314 - osmo_ss7:
315 repos_url: '{gerrit_url}/erlang/{repos}'
316 gerrit_project: 'erlang/{repos}'
Daniel Willmanne7b15942020-12-22 17:15:58 +0100317 cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh'
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200318 pipeline_binpkgs: ""
Oliver Smithfb3dc0b2020-01-17 09:07:06 +0100319
Oliver Smithb082c962019-09-19 15:06:10 +0200320 - osmo-sip-connector
Harald Welte3027ead2017-10-29 11:56:34 +0000321
322 - osmo-trx:
Oliver Smithffd4e392022-11-28 12:29:45 +0100323 slave_axis: !!python/tuple [osmocom-gerrit,rpi4-raspbian11]
Pau Espin Pedrol7d5bfdd2018-01-15 09:36:12 +0100324 a1_name: INSTR
Oliver Smithb44f7682023-01-16 12:55:21 +0100325 a1: !!python/tuple [--with-sse, --without-sse, --with-neon, --with-neon-vfpv4]
Oliver Smithe5e37732018-11-30 11:39:56 +0100326 a2_name: WITH_MANUALS
327 a2: !!python/tuple ["1", "0"]
Oliver Smithe5e37732018-11-30 11:39:56 +0100328 combination_filter: >
Oliver Smithffd4e392022-11-28 12:29:45 +0100329 (INSTR == "--without-sse" && WITH_MANUALS == "1" && label == "osmocom-gerrit") ||
330 (INSTR == "--with-sse" && WITH_MANUALS == "0" && label == "osmocom-gerrit") ||
Oliver Smith382aebd2022-03-03 11:57:16 +0100331 (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") ||
332 (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-raspbian11")
Oliver Smith24a56092021-01-12 11:24:45 +0100333 cmd: |
Oliver Smithc9149672023-01-23 13:44:28 +0100334 DOCKER_IMG="{docker_img}"
335 case "$(arch)" in
336 arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;;
337 esac
Oliver Smitha788a8b2023-01-24 14:32:15 +0100338 {docker_run_ccache} \
Oliver Smith463a6cc2021-03-09 08:53:15 +0100339 -e INSTR="$INSTR" \
340 -e WITH_MANUALS="$WITH_MANUALS" \
Oliver Smithc9149672023-01-23 13:44:28 +0100341 "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins.sh
Harald Welte3027ead2017-10-29 11:56:34 +0000342
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200343 - osmocom-bb:
Oliver Smith65005ed2024-03-18 14:20:20 +0100344 pipeline_binpkgs: "debian:12"
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200345
346 - osmo-tetra:
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200347 pipeline_binpkgs: ""
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200348
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200349 - osmo-sysmon:
Oliver Smith7277e432023-07-27 10:53:43 +0200350 pipeline_binpkgs: "debian:10 debian:12"
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200351
Harald Welte24f2ef02018-10-14 20:52:48 +0200352 - osmo-remsim
Harald Welte63c31672018-06-29 21:45:55 +0200353 - simtrace2
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200354
Oliver Smith2bb0a982022-07-12 12:30:58 +0200355 - osmo-opencm3-projects:
Oliver Smith2bb0a982022-07-12 12:30:58 +0200356 cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh'
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200357 pipeline_binpkgs: ""
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200358
359 - osmo-asf4-dfu:
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200360 pipeline_binpkgs: ""
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200361
362 - osmo-ccid-firmware:
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200363 pipeline_binpkgs: ""
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200364
Harald Weltea72c87c2019-05-11 21:08:47 +0200365 - osmo-e1d
Harald Welte71c642a2019-12-03 23:40:41 +0100366 - osmo-cbc
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200367
368 - osmo-e1-recorder:
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200369 pipeline_binpkgs: ""
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200370
371 - gapk:
Oliver Smith65005ed2024-03-18 14:20:20 +0100372 pipeline_binpkgs: "debian:12"
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200373
Harald Welte933f8662020-04-17 15:00:10 +0200374 - osmo-uecups
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200375
376 - osmo-el2tpd:
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200377 pipeline_binpkgs: ""
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200378
Oliver Smith7c15e262023-07-27 11:17:11 +0200379 - osmo-smlc
Harald Welte2933da32021-01-31 19:28:36 +0100380 - osmo-gbproxy
Pau Espin Pedrol21466402021-10-21 11:37:01 +0200381 - osmo-hnodeb
Oliver Smithddb8f3b2023-04-25 11:34:47 +0200382
383 - osmo-hnbgw:
384 a1_name: PFCP
385 a1: !!python/tuple ["1", "0"]
386 a2_name: WITH_MANUALS
387 a2: !!python/tuple ["1", "0"]
Oliver Smitha307c7d2024-04-04 11:05:38 +0200388 a3_name: NFTABLES
389 a3: !!python/tuple ["1", "0"]
Oliver Smithddb8f3b2023-04-25 11:34:47 +0200390 combination_filter: >
Oliver Smitha307c7d2024-04-04 11:05:38 +0200391 (PFCP == "1" && WITH_MANUALS == "1" && NFTABLES == "1") ||
392 (PFCP == "0" && WITH_MANUALS == "0" && NFTABLES == "0")
Oliver Smithddb8f3b2023-04-25 11:34:47 +0200393 cmd: |
394 {docker_run_ccache} \
395 -e PFCP="$PFCP" \
396 -e WITH_MANUALS="$WITH_MANUALS" \
Oliver Smitha307c7d2024-04-04 11:05:38 +0200397 -e NFTABLES="$NFTABLES" \
Oliver Smithddb8f3b2023-04-25 11:34:47 +0200398 {docker_img} {timeout_cmd} /build/contrib/jenkins.sh
399
Oliver Smith5db08072023-12-05 16:00:37 +0100400 - osmo-upf:
Oliver Smithb997fa92024-02-14 16:27:44 +0100401 pipeline_binpkgs: "debian:11 debian:12"
Harald Welte3027ead2017-10-29 11:56:34 +0000402
Alexander Couzens92de5272018-07-16 20:00:39 +0200403 - pysim:
Oliver Smithf58d2232019-09-20 09:01:05 +0200404 concurrent: false
Oliver Smithffd4e392022-11-28 12:29:45 +0100405 slave_axis: !!python/tuple [simtester,osmocom-gerrit]
Oliver Smithac5bae12022-10-18 16:26:13 +0200406 a2_name: JOB_TYPE
Vadim Yanitskiy31fd5cf2024-03-22 01:21:31 +0700407 a2: !!python/tuple ["test", "distcheck", "pylint", "docs"]
Oliver Smithac5bae12022-10-18 16:26:13 +0200408 combination_filter: >
409 (JOB_TYPE == "test" && label == "simtester") ||
Vadim Yanitskiy31fd5cf2024-03-22 01:21:31 +0700410 (JOB_TYPE == "distcheck" && label == "osmocom-gerrit") ||
Oliver Smithffd4e392022-11-28 12:29:45 +0100411 (JOB_TYPE == "pylint" && label == "osmocom-gerrit") ||
412 (JOB_TYPE == "docs" && label == "osmocom-gerrit")
Oliver Smithac5bae12022-10-18 16:26:13 +0200413 cmd: |
414 case "$JOB_TYPE" in
415 "test")
416 {timeout_cmd} ./contrib/jenkins.sh
417 ;;
418 *)
419 {docker_run} \
420 -e JOB_TYPE="$JOB_TYPE" \
421 {docker_img} \
422 {timeout_cmd} /build/contrib/jenkins.sh
423 ;;
424 esac
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200425 pipeline_binpkgs: ""
Alexander Couzens92de5272018-07-16 20:00:39 +0200426
Harald Weltecb7c6ee2017-12-12 17:28:26 +0100427 - osmo-ttcn3-hacks:
Alexander Couzensbff27502018-04-10 18:57:40 +0200428 slave_axis: !!python/tuple [ttcn3]
Oliver Smith61b9e762019-04-12 16:19:46 +0200429 cmd: |
Oliver Smithb7124912022-02-15 14:30:24 +0100430 docker run \
431 --rm \
432 -v "$PWD:/build" \
Oliver Smithbec32892023-08-03 11:07:38 +0200433 "registry.osmocom.org/osmocom-build/debian-bookworm-titan" \
Oliver Smithb7124912022-02-15 14:30:24 +0100434 {timeout_cmd} \
435 sh -e -x -c "
436 useradd --uid=1000 build;
437 cd /build;
438 su build -c 'make deps';
439 su build -c 'make clean';
440 su build -c 'make compile';
441 "
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200442 pipeline_binpkgs: ""
Harald Weltecb7c6ee2017-12-12 17:28:26 +0100443
Oliver Smith58ecce92022-10-06 11:49:59 +0200444 - dahdi-tools:
445 pipeline_lint: false
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200446 pipeline_binpkgs: ""
Harald Welte83494942022-02-21 21:23:58 +0100447
André Boddenberg6c401be2017-09-12 13:16:33 +0200448 jobs:
Harald Welte47327732017-10-29 12:02:08 +0000449 - 'gerrit-{repos}'
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200450 - 'gerrit-{repos}-build'
André Boddenberg6c401be2017-09-12 13:16:33 +0200451
452- job-template:
Harald Welte47327732017-10-29 12:02:08 +0000453 name: 'gerrit-{repos}'
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200454 project-type: pipeline
Oliver Smith1449f022022-10-12 12:48:39 +0200455 concurrent: true
Oliver Smith4d214f42022-10-06 11:40:30 +0200456 parameters:
457 - bool:
458 name: PIPELINE_BUILD
459 description: Enable the build job (runs contrib/jenkins.sh)
460 default: '{obj:pipeline_build}'
Oliver Smith58ecce92022-10-06 11:49:59 +0200461 - bool:
462 name: PIPELINE_LINT
463 description: Enable the lint job
464 default: '{obj:pipeline_lint}'
465 - string:
466 name: REPO_URL
467 description: Clone URL, to be passed to jobs started in the pipeline
468 default: '{obj:repos_url}'
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200469 - string:
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200470 name: PIPELINE_BINPKGS
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200471 description: |
472 Enable the binpkgs job (build deb/rpm packages) for the given space
473 separated distributions. Empty list disables the binpkgs job. The
474 distributions must have binary packages in the osmocom:master
475 repository.
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200476 default: '{obj:pipeline_binpkgs}'
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200477 dsl: |
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200478 def run_job(display_name, job_name, comment_type=null, distro=null) {{
Oliver Smithbd763742023-07-27 16:48:57 +0200479 try {{
480 echo "pipeline_${{display_name}}: running job ${{job_name}}"
481
Oliver Smithc4ee7402023-12-04 08:46:02 +0100482 // IMPORTANT: Keep gerrit-verifications-parameters.yaml.inc in sync
483 // with the list of parameters here, and make sure all jobs passed
484 // to run_job() include the .yaml.inc file. (OS#6261)
Oliver Smithbd763742023-07-27 16:48:57 +0200485 build job: job_name, parameters: [
486 string(name: "COMMENT_TYPE", value: comment_type),
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200487 string(name: "DISTRO", value: distro),
Oliver Smithbd763742023-07-27 16:48:57 +0200488 string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"),
489 string(name: "GERRIT_CHANGE_NUMBER", value: "${{env.GERRIT_CHANGE_NUMBER}}"),
490 string(name: "GERRIT_HOST", value: "${{env.GERRIT_HOST}}"),
491 string(name: "GERRIT_PATCHSET_NUMBER", value: "${{env.GERRIT_PATCHSET_NUMBER}}"),
492 string(name: "GERRIT_PATCHSET_REVISION", value: "${{env.GERRIT_PATCHSET_REVISION}}"),
493 string(name: "GERRIT_PATCHSET_UPLOADER_NAME", value: "${{env.GERRIT_PATCHSET_UPLOADER_NAME}}"),
494 string(name: "GERRIT_PORT", value: "${{env.GERRIT_PORT}}"),
495 string(name: "GERRIT_PROJECT", value: "${{env.GERRIT_PROJECT}}"),
496 string(name: "GERRIT_REFSPEC", value: "${{env.GERRIT_REFSPEC}}"),
497 string(name: "GERRIT_REPO_URL", value: "${{env.REPO_URL}}"),
498 string(name: "PIPELINE_BUILD_URL", value: "${{env.BUILD_URL}}"),
499 string(name: "PROJECT_NAME", value: "{repos}"),
500 ]
501 echo "pipeline_${{display_name}}: SUCCESS"
502 }} catch (Exception e) {{
503 echo "pipeline_${{display_name}}: FAILED"
504 }}
505 }}
506
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200507 pipeline {{
Oliver Smith933804b2022-10-14 11:28:25 +0200508 agent none
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200509 stages {{
510 stage("Verification") {{
511 parallel {{
Oliver Smithbd763742023-07-27 16:48:57 +0200512
513 // Run the comment job to add the pipeline link to gerrit
Oliver Smith9f1889a2023-01-16 14:42:45 +0100514 stage("Start Comment") {{
515 steps {{
Oliver Smith9f1889a2023-01-16 14:42:45 +0100516 script {{
Oliver Smithbd763742023-07-27 16:48:57 +0200517 run_job("comment_start", "gerrit-verifications-comment", "start")
Oliver Smith9f1889a2023-01-16 14:42:45 +0100518 }}
519 }}
520 }}
Oliver Smithbd763742023-07-27 16:48:57 +0200521
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200522 stage("Build") {{
Oliver Smith4d214f42022-10-06 11:40:30 +0200523 when {{
524 expression {{ params.PIPELINE_BUILD }}
525 }}
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200526 steps {{
527 script {{
Oliver Smithbd763742023-07-27 16:48:57 +0200528 run_job("build", "gerrit-{repos}-build")
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200529 }}
530 }}
531 }}
Oliver Smithbd763742023-07-27 16:48:57 +0200532
Oliver Smith58ecce92022-10-06 11:49:59 +0200533 stage("Lint") {{
534 when {{
535 expression {{ params.PIPELINE_LINT }}
536 }}
537 steps {{
538 script {{
Oliver Smithbd763742023-07-27 16:48:57 +0200539 run_job("lint", "gerrit-lint")
Oliver Smith58ecce92022-10-06 11:49:59 +0200540 }}
541 }}
542 }}
Oliver Smithbd763742023-07-27 16:48:57 +0200543
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200544 // Generating binpkgs stages is not possible if we want to run
545 // them in parallel and not have another job that just waits
546 // until they complete.
547
548 stage("binpkgs-0") {{
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200549 when {{
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200550 expression {{ params.PIPELINE_BINPKGS.split().size() > 0 }}
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200551 }}
552 steps {{
553 script {{
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200554 distro = params.PIPELINE_BINPKGS.split()[0]
555 run_job(distro, "gerrit-binpkgs", null, distro)
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200556 }}
557 }}
558 }}
Oliver Smithbd763742023-07-27 16:48:57 +0200559
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200560 stage("binpkgs-1") {{
Oliver Smithbd763742023-07-27 16:48:57 +0200561 when {{
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200562 expression {{ params.PIPELINE_BINPKGS.split().size() > 1 }}
Oliver Smithbd763742023-07-27 16:48:57 +0200563 }}
564 steps {{
565 script {{
Oliver Smith1dcb49a2023-07-26 14:34:42 +0200566 distro = params.PIPELINE_BINPKGS.split()[1]
567 run_job(distro, "gerrit-binpkgs", null, distro)
568 }}
569 }}
570 }}
571
572 stage("binpkgs-2") {{
573 when {{
574 expression {{ params.PIPELINE_BINPKGS.split().size() > 2 }}
575 }}
576 steps {{
577 script {{
578 distro = params.PIPELINE_BINPKGS.split()[2]
579 run_job(distro, "gerrit-binpkgs", null, distro)
Oliver Smith9e1f9ae2022-10-07 15:39:38 +0200580 }}
581 }}
582 }}
Oliver Smithbd763742023-07-27 16:48:57 +0200583
Oliver Smithbd763742023-07-27 16:48:57 +0200584 }} // end of parallel
585 }} // end of Verification stage
586
587 // Run the comment job to get successful/failed links and add a
588 // comment + vote to gerrit
Oliver Smithed604a02023-01-16 13:59:01 +0100589 stage("Result Comment") {{
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200590 steps {{
Oliver Smith4e679c82022-10-07 10:16:24 +0200591 script {{
Oliver Smithbd763742023-07-27 16:48:57 +0200592 run_job("comment_result", "gerrit-verifications-comment", "result")
Oliver Smith4e679c82022-10-07 10:16:24 +0200593 }}
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200594 }}
595 }}
Oliver Smithbd763742023-07-27 16:48:57 +0200596
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200597 }}
598 }}
599 disabled: '{obj:disabled}'
600 retry-count: 3 # scm checkout
601 properties:
602 - build-discarder:
603 days-to-keep: 30
Oliver Smithd9f32322023-04-03 11:03:48 +0200604 num-to-keep: 1000
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200605 description: |
606 Pipeline of CI for patches sent to
607 <a href="https://gerrit.osmocom.org/#/q/status:open+project:{repos}">{repos}</a>
608 <br/><br/>
609 <b>Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY!</b>
610
611 scm:
612 - git:
613 url: '{obj:repos_url}'
614 credentials-id: d5eda5e9-b59d-44ba-88d2-43473cb6e42d
615 branches:
616 - $GERRIT_BRANCH
617 refspec: $GERRIT_REFSPEC
618 name:
619 choosing-strategy: gerrit
620 wipe-workspace: false
621 skip-tag: true
622 submodule:
623 recursive: true
624
625 triggers:
626 - gerrit:
627 trigger-on:
628 - patchset-created-event:
629 exclude-drafts: true
630 exclude-no-code-change: true
631 projects:
632 - project-compare-type: 'PLAIN'
633 project-pattern: '{obj:gerrit_project}'
634 branches:
635 - branch-compare-type: 'ANT'
636 branch-pattern: '**'
637 skip-vote:
638 successful: false
639 failed: false
640 unstable: false
641 notbuilt: false
Oliver Smith4e679c82022-10-07 10:16:24 +0200642 silent: true # comment + vote is done in gerrit-pipeline-result.yml
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200643 escape-quotes: false
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200644 server-name: gerrit.osmocom.org
645
646- job-template:
647 name: 'gerrit-{repos}-build'
André Boddenberg6c401be2017-09-12 13:16:33 +0200648 project-type: matrix
André Boddenberg6c401be2017-09-12 13:16:33 +0200649 concurrent: '{obj:concurrent}'
650 disabled: '{obj:disabled}'
651 retry-count: 3 # scm checkout
Neels Hofmeyr28564a62017-12-09 01:11:01 +0100652 properties:
653 - build-discarder:
654 days-to-keep: 30
Oliver Smithd9f32322023-04-03 11:03:48 +0200655 num-to-keep: 1000
Harald Welte5ce7f792017-10-29 12:02:44 +0000656 description: |
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200657 Build job of CI for patches sent to
Harald Welte6a582f12017-10-29 12:15:10 +0000658 <a href="https://gerrit.osmocom.org/#/q/status:open+project:{repos}">{repos}</a>
Harald Welte5ce7f792017-10-29 12:02:44 +0000659 <br/><br/>
660 <b>Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY!</b>
André Boddenberg6c401be2017-09-12 13:16:33 +0200661
662 execution-strategy:
Max9294d212018-01-22 16:27:38 +0100663 sequential: '{obj:sequential}'
André Boddenberg6c401be2017-09-12 13:16:33 +0200664 combination-filter: |
665 {obj:combination_filter}
666 axes:
667 - axis:
668 type: slave
669 name: label
670 values: '{obj:slave_axis}'
671 - axis:
672 type: user-defined
673 name: '{obj:a1_name}'
674 values: '{obj:a1}'
675 - axis:
676 type: user-defined
677 name: '{obj:a2_name}'
678 values: '{obj:a2}'
679 - axis:
680 type: user-defined
681 name: '{obj:a3_name}'
682 values: '{obj:a3}'
683 - axis:
684 type: user-defined
685 name: '{obj:a4_name}'
686 values: '{obj:a4}'
687
688 scm:
689 - git:
Neels Hofmeyr27af5a22017-12-15 19:54:29 +0100690 url: '{obj:repos_url}'
André Boddenberg6c401be2017-09-12 13:16:33 +0200691 credentials-id: d5eda5e9-b59d-44ba-88d2-43473cb6e42d
692 branches:
693 - $GERRIT_BRANCH
Harald Welte920b27b2017-10-29 17:52:17 +0100694 refspec: $GERRIT_REFSPEC
695 name:
André Boddenberg6c401be2017-09-12 13:16:33 +0200696 choosing-strategy: gerrit
697 wipe-workspace: false
698 skip-tag: true
Harald Weltecbce5262020-12-17 15:32:43 +0100699 submodule:
700 recursive: true
André Boddenberg6c401be2017-09-12 13:16:33 +0200701
Oliver Smithc3bab9a2022-10-06 10:53:54 +0200702 parameters:
Oliver Smithc4ee7402023-12-04 08:46:02 +0100703 !include: gerrit-verifications-parameters.yaml.inc
André Boddenberg6c401be2017-09-12 13:16:33 +0200704
705 builders:
706 - shell: '{obj:cmd}'
707
708 publishers:
709 - warnings:
710 console-log-parsers:
711 - 'GNU C Compiler 4 (gcc)'
712 resolve-relative-paths: true
Neels Hofmeyrcf60aaa2017-10-30 04:02:11 +0100713
714# vim: expandtab tabstop=2 shiftwidth=2