Oliver Smith | 1658ff5 | 2021-06-16 13:56:34 +0200 | [diff] [blame] | 1 | # This file holds all gerrit build verifications https://jenkins.osmocom.org/jenkins/view/Jenkins-Gerrit/. |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 2 | # One can simply add a gerrit job by adding project's repository to repos list. |
| 3 | # |
Oliver Smith | d602a29 | 2022-10-11 15:19:12 +0200 | [diff] [blame] | 4 | # Overview of jobs involved in the pipeline: |
| 5 | # https://osmocom.org/projects/osmocom-servers/wiki/Jenkins_gerrit-verifications_Pipeline |
| 6 | # |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 7 | # 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 Smith | b4dca82 | 2022-10-11 13:28:06 +0200 | [diff] [blame] | 23 | # |
| 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 Smith | a4d780c | 2023-07-27 11:25:35 +0200 | [diff] [blame] | 27 | # This used to be necessary when changing the pipeline script, adding new |
| 28 | # projects etc. But it seems to get auto-approved now. |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 29 | |
| 30 | - project: |
| 31 | name: gerrit |
| 32 | # following default values can be overridden by each repo |
| 33 | disabled: false |
Oliver Smith | f58d223 | 2019-09-20 09:01:05 +0200 | [diff] [blame] | 34 | concurrent: true |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 35 | # axes related defaults |
Oliver Smith | ffd4e39 | 2022-11-28 12:29:45 +0100 | [diff] [blame] | 36 | slave_axis: !!python/tuple [osmocom-gerrit] |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 37 | 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: '' |
Max | 9294d21 | 2018-01-22 16:27:38 +0100 | [diff] [blame] | 46 | sequential: false |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 47 | # most common build invocation |
Oliver Smith | a815357 | 2019-09-20 10:43:03 +0200 | [diff] [blame] | 48 | # SYS_PTRACE is needed for ASAN (https://github.com/google/sanitizers/issues/764) |
Oliver Smith | 02bb404 | 2019-12-04 10:47:53 +0100 | [diff] [blame] | 49 | # Documentation for variables (keep in sync!): |
| 50 | # https://osmocom.org/projects/osmocom-servers/wiki/Jenkins_build_verification_jobs |
Oliver Smith | a5fb548 | 2019-09-19 12:35:11 +0200 | [diff] [blame] | 51 | docker_run: | |
Oliver Smith | a5fb548 | 2019-09-19 12:35:11 +0200 | [diff] [blame] | 52 | docker run --rm=true \ |
Oliver Smith | a815357 | 2019-09-20 10:43:03 +0200 | [diff] [blame] | 53 | --cap-add SYS_PTRACE \ |
Oliver Smith | a5fb548 | 2019-09-19 12:35:11 +0200 | [diff] [blame] | 54 | -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 Smith | 212e43f | 2021-01-12 13:50:44 +0100 | [diff] [blame] | 59 | -e OSMO_GSM_MANUALS_DIR="/opt/osmo-gsm-manuals" \ |
Oliver Smith | a5fb548 | 2019-09-19 12:35:11 +0200 | [diff] [blame] | 60 | -e PARALLEL_MAKE="$PARALLEL_MAKE" \ |
Oliver Smith | a5fb548 | 2019-09-19 12:35:11 +0200 | [diff] [blame] | 61 | -e WITH_MANUALS="1" \ |
| 62 | -w /build -i -u build \ |
Oliver Smith | de5aa17 | 2021-01-11 14:49:53 +0100 | [diff] [blame] | 63 | -v "$PWD:/build" \ |
Oliver Smith | a788a8b | 2023-01-24 14:32:15 +0100 | [diff] [blame] | 64 | docker_run_ccache: | |
Oliver Smith | 4773f26 | 2023-01-24 14:17:54 +0100 | [diff] [blame] | 65 | CCACHE_DIR="$HOME/ccache/gerrit-verifications" |
| 66 | mkdir -p "$CCACHE_DIR" |
| 67 | chown osmocom-build:osmocom-build "$CCACHE_DIR" |
| 68 | |
Oliver Smith | a788a8b | 2023-01-24 14:32:15 +0100 | [diff] [blame] | 69 | 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 Smith | 4773f26 | 2023-01-24 14:17:54 +0100 | [diff] [blame] | 84 | -v "$CCACHE_DIR:/ccache" \ |
Oliver Smith | f71fcef | 2023-07-12 16:53:00 +0200 | [diff] [blame] | 85 | docker_img: '$USER/debian-bookworm-build' |
| 86 | docker_img_erlang: '$USER/debian-bookworm-erlang' |
Daniel Willmann | e7b1594 | 2020-12-22 17:15:58 +0100 | [diff] [blame] | 87 | timeout_cmd: '/usr/bin/timeout 30m' |
Oliver Smith | a788a8b | 2023-01-24 14:32:15 +0100 | [diff] [blame] | 88 | cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh' |
Oliver Smith | 51e91cd | 2020-01-14 14:22:06 +0100 | [diff] [blame] | 89 | gerrit_url: 'ssh://jenkins@gerrit.osmocom.org:29418' |
| 90 | repos_url: '{gerrit_url}/{repos}' |
Neels Hofmeyr | 85f74b5 | 2017-12-15 20:29:31 +0100 | [diff] [blame] | 91 | gerrit_project: '{repos}' |
Oliver Smith | 4d214f4 | 2022-10-06 11:40:30 +0200 | [diff] [blame] | 92 | # Which jobs to run in the pipeline |
| 93 | pipeline_build: true |
Oliver Smith | 58ecce9 | 2022-10-06 11:49:59 +0200 | [diff] [blame] | 94 | pipeline_lint: true |
Oliver Smith | b997fa9 | 2024-02-14 16:27:44 +0100 | [diff] [blame] | 95 | pipeline_binpkgs: "debian:10 debian:12" |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 96 | |
Harald Welte | 3027ead | 2017-10-29 11:56:34 +0000 | [diff] [blame] | 97 | # in alphabetical order |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 98 | repos: |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 99 | - asn1c: |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 100 | pipeline_binpkgs: "" |
Oliver Smith | 36df36f | 2023-07-17 11:57:37 +0200 | [diff] [blame] | 101 | pipeline_lint: false |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 102 | |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 103 | - cellmgr-ng: |
Oliver Smith | 7277e43 | 2023-07-27 10:53:43 +0200 | [diff] [blame] | 104 | pipeline_binpkgs: "debian:10 debian:12" |
Oliver Smith | 58ecce9 | 2022-10-06 11:49:59 +0200 | [diff] [blame] | 105 | |
| 106 | - docker-playground: |
| 107 | pipeline_build: false |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 108 | pipeline_binpkgs: "" |
Oliver Smith | 58ecce9 | 2022-10-06 11:49:59 +0200 | [diff] [blame] | 109 | |
Harald Welte | 64c82cd | 2017-10-29 13:26:24 +0100 | [diff] [blame] | 110 | - libasn1c |
Harald Welte | b9f2e75 | 2017-11-12 22:31:35 +0900 | [diff] [blame] | 111 | - libgtpnl |
Harald Welte | 64c82cd | 2017-10-29 13:26:24 +0100 | [diff] [blame] | 112 | - libosmo-abis |
Vadim Yanitskiy | ac0b663 | 2022-08-10 04:24:30 +0700 | [diff] [blame] | 113 | - libosmo-gprs |
Harald Welte | 64c82cd | 2017-10-29 13:26:24 +0100 | [diff] [blame] | 114 | - libosmo-netif |
Neels Hofmeyr | 38d569d | 2022-06-17 16:33:10 +0200 | [diff] [blame] | 115 | - libosmo-pfcp |
Oliver Smith | b082c96 | 2019-09-19 15:06:10 +0200 | [diff] [blame] | 116 | - libosmo-sccp |
Harald Welte | 3027ead | 2017-10-29 11:56:34 +0000 | [diff] [blame] | 117 | |
| 118 | - libosmocore: |
Oliver Smith | cd0de59 | 2024-03-20 10:51:04 +0100 | [diff] [blame] | 119 | slave_axis: !!python/tuple [io_uring] # OS#6405 |
Harald Welte | 3027ead | 2017-10-29 11:56:34 +0000 | [diff] [blame] | 120 | a1_name: arch |
| 121 | a1: !!python/tuple [arm-none-eabi, amd64] |
| 122 | combination_filter: '!(arch=="arm-none-eabi" && label=="FreeBSD_amd64")' |
Oliver Smith | a788a8b | 2023-01-24 14:32:15 +0100 | [diff] [blame] | 123 | cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins_arch.sh "$arch"' |
Oliver Smith | 91a79bd | 2024-05-08 11:30:18 +0200 | [diff] [blame] | 124 | pipeline_binpkgs: "centos:7 debian:10 debian:12" # centos7: SYS#6760 |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 125 | |
Harald Welte | 64c82cd | 2017-10-29 13:26:24 +0100 | [diff] [blame] | 126 | - libsmpp34 |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 127 | |
| 128 | - libtelnet: |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 129 | pipeline_binpkgs: "" |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 130 | |
Oliver Smith | b997fa9 | 2024-02-14 16:27:44 +0100 | [diff] [blame] | 131 | - libusrp |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 132 | |
Neels Hofmeyr | ccafbb7 | 2017-11-01 14:42:03 +0100 | [diff] [blame] | 133 | - openbsc: |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 134 | 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 Smith | 61b9e76 | 2019-04-12 16:19:46 +0200 | [diff] [blame] | 140 | cmd: | |
Oliver Smith | a788a8b | 2023-01-24 14:32:15 +0100 | [diff] [blame] | 141 | {docker_run_ccache} \ |
Oliver Smith | 03d5f4c | 2018-11-30 15:15:16 +0100 | [diff] [blame] | 142 | -e IU="$IU" \ |
| 143 | -e SMPP="$SMPP" \ |
| 144 | -e MGCP="$MGCP" \ |
Daniel Willmann | e7b1594 | 2020-12-22 17:15:58 +0100 | [diff] [blame] | 145 | {docker_img} {timeout_cmd} /build/contrib/jenkins.sh |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 146 | pipeline_binpkgs: "" |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 147 | |
Harald Welte | 92525a7 | 2017-11-14 14:43:02 +0900 | [diff] [blame] | 148 | - openggsn: |
| 149 | a1_name: GTP |
| 150 | a1: !!python/tuple [--enable-gtp-linux,--disable-gtp-linux] |
Oliver Smith | f58d223 | 2019-09-20 09:01:05 +0200 | [diff] [blame] | 151 | concurrent: false |
Daniel Willmann | e7b1594 | 2020-12-22 17:15:58 +0100 | [diff] [blame] | 152 | cmd: '{timeout_cmd} ./contrib/jenkins.sh' |
Harald Welte | 3027ead | 2017-10-29 11:56:34 +0000 | [diff] [blame] | 153 | |
Oliver Smith | f58d223 | 2019-09-20 09:01:05 +0200 | [diff] [blame] | 154 | - osmo-bsc |
Oliver Smith | c04fb38 | 2022-01-31 14:05:34 +0100 | [diff] [blame] | 155 | - osmo-bsc-nat |
Harald Welte | 3027ead | 2017-10-29 11:56:34 +0000 | [diff] [blame] | 156 | |
| 157 | - osmo-bts: |
Oliver Smith | ffd4e39 | 2022-11-28 12:29:45 +0100 | [diff] [blame] | 158 | slave_axis: !!python/tuple [osmocom-gerrit, rpi4-raspbian11] |
Harald Welte | 3027ead | 2017-10-29 11:56:34 +0000 | [diff] [blame] | 159 | a1_name: FIRMWARE_VERSION |
Harald Welte | 64d1d6c | 2018-10-27 13:38:21 +0200 | [diff] [blame] | 160 | 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 Welte | 3027ead | 2017-10-29 11:56:34 +0000 | [diff] [blame] | 161 | a2_name: BTS_MODEL |
Harald Welte | c466dcf | 2018-10-26 16:08:33 +0200 | [diff] [blame] | 162 | a2: !!python/tuple [sysmo, oct, trx, oct+trx, lc15, oc2g] |
Oliver Smith | e5e3773 | 2018-11-30 11:39:56 +0100 | [diff] [blame] | 163 | a3_name: WITH_MANUALS |
| 164 | a3: !!python/tuple ["1", "0"] |
Harald Welte | 3027ead | 2017-10-29 11:56:34 +0000 | [diff] [blame] | 165 | combination_filter: > |
Oliver Smith | ffd4e39 | 2022-11-28 12:29:45 +0100 | [diff] [blame] | 166 | (FIRMWARE_VERSION == "master" && WITH_MANUALS == "0" && label == "osmocom-gerrit") || |
Oliver Smith | 382aebd | 2022-03-03 11:57:16 +0100 | [diff] [blame] | 167 | (FIRMWARE_VERSION == "master" && BTS_MODEL == "trx" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") || |
Oliver Smith | ffd4e39 | 2022-11-28 12:29:45 +0100 | [diff] [blame] | 168 | (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 Smith | f58d223 | 2019-09-20 09:01:05 +0200 | [diff] [blame] | 177 | concurrent: false |
Oliver Smith | 24a5609 | 2021-01-12 11:24:45 +0100 | [diff] [blame] | 178 | cmd: | |
Oliver Smith | c914967 | 2023-01-23 13:44:28 +0100 | [diff] [blame] | 179 | DOCKER_IMG="{docker_img}" |
| 180 | case "$(arch)" in |
| 181 | arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;; |
| 182 | esac |
Oliver Smith | a788a8b | 2023-01-24 14:32:15 +0100 | [diff] [blame] | 183 | {docker_run_ccache} \ |
Oliver Smith | 463a6cc | 2021-03-09 08:53:15 +0100 | [diff] [blame] | 184 | -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ |
| 185 | -e WITH_MANUALS="$WITH_MANUALS" \ |
Oliver Smith | c914967 | 2023-01-23 13:44:28 +0100 | [diff] [blame] | 186 | "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins_bts_model.sh "$BTS_MODEL" |
Harald Welte | 3027ead | 2017-10-29 11:56:34 +0000 | [diff] [blame] | 187 | |
Oliver Smith | aadc60f | 2020-01-08 15:48:00 +0100 | [diff] [blame] | 188 | - osmo_dia2gsup: |
| 189 | repos_url: '{gerrit_url}/erlang/{repos}' |
| 190 | gerrit_project: 'erlang/{repos}' |
Daniel Willmann | e7b1594 | 2020-12-22 17:15:58 +0100 | [diff] [blame] | 191 | cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh' |
Oliver Smith | e4ac3ae | 2023-08-23 16:59:28 +0200 | [diff] [blame] | 192 | pipeline_binpkgs: "debian:11 debian:12" |
Oliver Smith | aadc60f | 2020-01-08 15:48:00 +0100 | [diff] [blame] | 193 | |
Pau Espin Pedrol | 9b9b2a2 | 2023-10-05 16:22:49 +0200 | [diff] [blame] | 194 | - 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 Smith | e2f71fd | 2024-02-23 10:10:11 +0100 | [diff] [blame] | 198 | pipeline_binpkgs: "debian:12" |
Pau Espin Pedrol | 9b9b2a2 | 2023-10-05 16:22:49 +0200 | [diff] [blame] | 199 | |
Harald Welte | cbce526 | 2020-12-17 15:32:43 +0100 | [diff] [blame] | 200 | - osmo-e1-hardware: |
Oliver Smith | ae69a1a | 2022-11-03 10:25:22 +0100 | [diff] [blame] | 201 | 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 Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 215 | pipeline_binpkgs: "" |
Harald Welte | cbce526 | 2020-12-17 15:32:43 +0100 | [diff] [blame] | 216 | |
Oliver Smith | 05e836e | 2022-10-11 13:36:21 +0200 | [diff] [blame] | 217 | - osmo-ci: |
| 218 | pipeline_build: false |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 219 | pipeline_binpkgs: "" |
Oliver Smith | 05e836e | 2022-10-11 13:36:21 +0200 | [diff] [blame] | 220 | |
Harald Welte | 92525a7 | 2017-11-14 14:43:02 +0900 | [diff] [blame] | 221 | - osmo-ggsn: |
Pau Espin Pedrol | 787a51f | 2017-12-04 13:42:05 +0100 | [diff] [blame] | 222 | a1_name: GTP |
Harald Welte | 92525a7 | 2017-11-14 14:43:02 +0900 | [diff] [blame] | 223 | a1: !!python/tuple [--enable-gtp-linux,--disable-gtp-linux] |
Oliver Smith | e5e3773 | 2018-11-30 11:39:56 +0100 | [diff] [blame] | 224 | 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 Smith | b082c96 | 2019-09-19 15:06:10 +0200 | [diff] [blame] | 229 | cmd: | |
Oliver Smith | a788a8b | 2023-01-24 14:32:15 +0100 | [diff] [blame] | 230 | {docker_run_ccache} \ |
Oliver Smith | b082c96 | 2019-09-19 15:06:10 +0200 | [diff] [blame] | 231 | -e GTP="$GTP" \ |
| 232 | -e WITH_MANUALS="$WITH_MANUALS" \ |
Daniel Willmann | e7b1594 | 2020-12-22 17:15:58 +0100 | [diff] [blame] | 233 | {docker_img} {timeout_cmd} /build/contrib/jenkins.sh |
Harald Welte | 92525a7 | 2017-11-14 14:43:02 +0900 | [diff] [blame] | 234 | |
Oliver Smith | 4170c2b | 2023-02-10 11:26:17 +0100 | [diff] [blame] | 235 | - osmo-gsm-manuals: |
Oliver Smith | 7277e43 | 2023-07-27 10:53:43 +0200 | [diff] [blame] | 236 | pipeline_binpkgs: "debian:10 debian:12" |
Oliver Smith | aadc60f | 2020-01-08 15:48:00 +0100 | [diff] [blame] | 237 | |
| 238 | - osmo_gsup: |
| 239 | repos_url: '{gerrit_url}/erlang/{repos}' |
| 240 | gerrit_project: 'erlang/{repos}' |
Oliver Smith | a788a8b | 2023-01-24 14:32:15 +0100 | [diff] [blame] | 241 | cmd: '{docker_run_ccache} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh' |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 242 | pipeline_binpkgs: "" |
Oliver Smith | aadc60f | 2020-01-08 15:48:00 +0100 | [diff] [blame] | 243 | |
Oliver Smith | b082c96 | 2019-09-19 15:06:10 +0200 | [diff] [blame] | 244 | - osmo-hlr |
| 245 | - osmo-iuh |
Oliver Smith | f58d223 | 2019-09-20 09:01:05 +0200 | [diff] [blame] | 246 | - osmo-mgw |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 247 | |
| 248 | - osmo-msc: |
| 249 | a1_name: IU |
| 250 | a1: !!python/tuple [--enable-iu, --disable-iu] |
Oliver Smith | e5e3773 | 2018-11-30 11:39:56 +0100 | [diff] [blame] | 251 | a2_name: WITH_MANUALS |
| 252 | a2: !!python/tuple ["1", "0"] |
Oliver Smith | e5e3773 | 2018-11-30 11:39:56 +0100 | [diff] [blame] | 253 | combination_filter: > |
Oliver Smith | 684a8f2 | 2023-04-25 12:08:48 +0200 | [diff] [blame] | 254 | (IU == "--enable-iu" && WITH_MANUALS == "1") || |
| 255 | (IU == "--disable-iu" && WITH_MANUALS == "0") |
Oliver Smith | 61b9e76 | 2019-04-12 16:19:46 +0200 | [diff] [blame] | 256 | cmd: | |
Oliver Smith | a788a8b | 2023-01-24 14:32:15 +0100 | [diff] [blame] | 257 | {docker_run_ccache} \ |
Oliver Smith | 03d5f4c | 2018-11-30 15:15:16 +0100 | [diff] [blame] | 258 | -e IU="$IU" \ |
Oliver Smith | e5e3773 | 2018-11-30 11:39:56 +0100 | [diff] [blame] | 259 | -e WITH_MANUALS="$WITH_MANUALS" \ |
Daniel Willmann | e7b1594 | 2020-12-22 17:15:58 +0100 | [diff] [blame] | 260 | {docker_img} {timeout_cmd} /build/contrib/jenkins.sh |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 261 | |
Oliver Smith | 91a79bd | 2024-05-08 11:30:18 +0200 | [diff] [blame] | 262 | - osmo-pcap: |
| 263 | pipeline_binpkgs: "centos:7 debian:10 debian:12" # centos7: SYS#6760 |
Harald Welte | 3027ead | 2017-10-29 11:56:34 +0000 | [diff] [blame] | 264 | |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 265 | - osmo-pcu: |
Oliver Smith | ffd4e39 | 2022-11-28 12:29:45 +0100 | [diff] [blame] | 266 | slave_axis: !!python/tuple [osmocom-gerrit, rpi4-raspbian11] |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 267 | a1_name: FIRMWARE_VERSION |
Daniel Willmann | 627bf3d | 2019-03-27 18:36:22 +0100 | [diff] [blame] | 268 | a1: !!python/tuple [master, v2017.01, litecell15, oc2g] |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 269 | a2_name: with_vty |
Max | 971489d | 2018-01-12 16:15:04 +0100 | [diff] [blame] | 270 | a2: !!python/tuple [True, False] |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 271 | a3_name: with_dsp |
Daniel Willmann | 53fabad | 2019-03-27 18:36:20 +0100 | [diff] [blame] | 272 | a3: !!python/tuple [sysmo, lc15, oc2g, none] |
Oliver Smith | e5e3773 | 2018-11-30 11:39:56 +0100 | [diff] [blame] | 273 | a4_name: WITH_MANUALS |
| 274 | a4: !!python/tuple ["1", "0"] |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 275 | combination_filter: > |
Oliver Smith | ffd4e39 | 2022-11-28 12:29:45 +0100 | [diff] [blame] | 276 | (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 Smith | 382aebd | 2022-03-03 11:57:16 +0100 | [diff] [blame] | 282 | (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") |
Oliver Smith | 5ca12a8 | 2019-09-18 10:31:13 +0200 | [diff] [blame] | 283 | cmd: | |
Oliver Smith | c914967 | 2023-01-23 13:44:28 +0100 | [diff] [blame] | 284 | DOCKER_IMG="{docker_img}" |
| 285 | case "$(arch)" in |
| 286 | arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;; |
| 287 | esac |
Oliver Smith | a788a8b | 2023-01-24 14:32:15 +0100 | [diff] [blame] | 288 | {docker_run_ccache} \ |
Oliver Smith | 5ca12a8 | 2019-09-18 10:31:13 +0200 | [diff] [blame] | 289 | -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ |
| 290 | -e with_vty="$with_vty" \ |
| 291 | -e with_dsp="$with_dsp" \ |
| 292 | -e WITH_MANUALS="$WITH_MANUALS" \ |
Oliver Smith | c914967 | 2023-01-23 13:44:28 +0100 | [diff] [blame] | 293 | "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins.sh |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 294 | |
Neels Hofmeyr | fd7b2aa | 2017-12-15 19:55:35 +0100 | [diff] [blame] | 295 | - osmo-python-tests: |
Oliver Smith | 51e91cd | 2020-01-14 14:22:06 +0100 | [diff] [blame] | 296 | repos_url: '{gerrit_url}/python/{repos}' |
Neels Hofmeyr | 85f74b5 | 2017-12-15 20:29:31 +0100 | [diff] [blame] | 297 | gerrit_project: 'python/{repos}' |
Oliver Smith | 7277e43 | 2023-07-27 10:53:43 +0200 | [diff] [blame] | 298 | pipeline_binpkgs: "debian:10 debian:12" |
Max | 1e857dc | 2017-12-11 13:18:14 +0100 | [diff] [blame] | 299 | |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 300 | - osmo-sgsn: |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 301 | a1_name: IU |
| 302 | a1: !!python/tuple [--enable-iu, --disable-iu] |
Oliver Smith | e5e3773 | 2018-11-30 11:39:56 +0100 | [diff] [blame] | 303 | a2_name: WITH_MANUALS |
| 304 | a2: !!python/tuple ["1", "0"] |
Oliver Smith | e5e3773 | 2018-11-30 11:39:56 +0100 | [diff] [blame] | 305 | combination_filter: > |
Oliver Smith | 684a8f2 | 2023-04-25 12:08:48 +0200 | [diff] [blame] | 306 | (IU == "--enable-iu" && WITH_MANUALS == "1") || |
| 307 | (IU == "--disable-iu" && WITH_MANUALS == "0") |
Oliver Smith | 61b9e76 | 2019-04-12 16:19:46 +0200 | [diff] [blame] | 308 | cmd: | |
Oliver Smith | a788a8b | 2023-01-24 14:32:15 +0100 | [diff] [blame] | 309 | {docker_run_ccache} \ |
Oliver Smith | 03d5f4c | 2018-11-30 15:15:16 +0100 | [diff] [blame] | 310 | -e IU="$IU" \ |
Oliver Smith | e5e3773 | 2018-11-30 11:39:56 +0100 | [diff] [blame] | 311 | -e WITH_MANUALS="$WITH_MANUALS" \ |
Daniel Willmann | e7b1594 | 2020-12-22 17:15:58 +0100 | [diff] [blame] | 312 | {docker_img} {timeout_cmd} /build/contrib/jenkins.sh |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 313 | |
Oliver Smith | fb3dc0b | 2020-01-17 09:07:06 +0100 | [diff] [blame] | 314 | - osmo_ss7: |
| 315 | repos_url: '{gerrit_url}/erlang/{repos}' |
| 316 | gerrit_project: 'erlang/{repos}' |
Daniel Willmann | e7b1594 | 2020-12-22 17:15:58 +0100 | [diff] [blame] | 317 | cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh' |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 318 | pipeline_binpkgs: "" |
Oliver Smith | fb3dc0b | 2020-01-17 09:07:06 +0100 | [diff] [blame] | 319 | |
Oliver Smith | b082c96 | 2019-09-19 15:06:10 +0200 | [diff] [blame] | 320 | - osmo-sip-connector |
Harald Welte | 3027ead | 2017-10-29 11:56:34 +0000 | [diff] [blame] | 321 | |
| 322 | - osmo-trx: |
Oliver Smith | ffd4e39 | 2022-11-28 12:29:45 +0100 | [diff] [blame] | 323 | slave_axis: !!python/tuple [osmocom-gerrit,rpi4-raspbian11] |
Pau Espin Pedrol | 7d5bfdd | 2018-01-15 09:36:12 +0100 | [diff] [blame] | 324 | a1_name: INSTR |
Oliver Smith | b44f768 | 2023-01-16 12:55:21 +0100 | [diff] [blame] | 325 | a1: !!python/tuple [--with-sse, --without-sse, --with-neon, --with-neon-vfpv4] |
Oliver Smith | e5e3773 | 2018-11-30 11:39:56 +0100 | [diff] [blame] | 326 | a2_name: WITH_MANUALS |
| 327 | a2: !!python/tuple ["1", "0"] |
Oliver Smith | e5e3773 | 2018-11-30 11:39:56 +0100 | [diff] [blame] | 328 | combination_filter: > |
Oliver Smith | ffd4e39 | 2022-11-28 12:29:45 +0100 | [diff] [blame] | 329 | (INSTR == "--without-sse" && WITH_MANUALS == "1" && label == "osmocom-gerrit") || |
| 330 | (INSTR == "--with-sse" && WITH_MANUALS == "0" && label == "osmocom-gerrit") || |
Oliver Smith | 382aebd | 2022-03-03 11:57:16 +0100 | [diff] [blame] | 331 | (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") || |
| 332 | (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") |
Oliver Smith | 24a5609 | 2021-01-12 11:24:45 +0100 | [diff] [blame] | 333 | cmd: | |
Oliver Smith | c914967 | 2023-01-23 13:44:28 +0100 | [diff] [blame] | 334 | DOCKER_IMG="{docker_img}" |
| 335 | case "$(arch)" in |
| 336 | arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;; |
| 337 | esac |
Oliver Smith | a788a8b | 2023-01-24 14:32:15 +0100 | [diff] [blame] | 338 | {docker_run_ccache} \ |
Oliver Smith | 463a6cc | 2021-03-09 08:53:15 +0100 | [diff] [blame] | 339 | -e INSTR="$INSTR" \ |
| 340 | -e WITH_MANUALS="$WITH_MANUALS" \ |
Oliver Smith | c914967 | 2023-01-23 13:44:28 +0100 | [diff] [blame] | 341 | "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins.sh |
Harald Welte | 3027ead | 2017-10-29 11:56:34 +0000 | [diff] [blame] | 342 | |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 343 | - osmocom-bb: |
Oliver Smith | 65005ed | 2024-03-18 14:20:20 +0100 | [diff] [blame] | 344 | pipeline_binpkgs: "debian:12" |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 345 | |
| 346 | - osmo-tetra: |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 347 | pipeline_binpkgs: "" |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 348 | |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 349 | - osmo-sysmon: |
Oliver Smith | 7277e43 | 2023-07-27 10:53:43 +0200 | [diff] [blame] | 350 | pipeline_binpkgs: "debian:10 debian:12" |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 351 | |
Harald Welte | 24f2ef0 | 2018-10-14 20:52:48 +0200 | [diff] [blame] | 352 | - osmo-remsim |
Harald Welte | 63c3167 | 2018-06-29 21:45:55 +0200 | [diff] [blame] | 353 | - simtrace2 |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 354 | |
Oliver Smith | 2bb0a98 | 2022-07-12 12:30:58 +0200 | [diff] [blame] | 355 | - osmo-opencm3-projects: |
Oliver Smith | 2bb0a98 | 2022-07-12 12:30:58 +0200 | [diff] [blame] | 356 | cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh' |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 357 | pipeline_binpkgs: "" |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 358 | |
| 359 | - osmo-asf4-dfu: |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 360 | pipeline_binpkgs: "" |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 361 | |
| 362 | - osmo-ccid-firmware: |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 363 | pipeline_binpkgs: "" |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 364 | |
Harald Welte | a72c87c | 2019-05-11 21:08:47 +0200 | [diff] [blame] | 365 | - osmo-e1d |
Harald Welte | 71c642a | 2019-12-03 23:40:41 +0100 | [diff] [blame] | 366 | - osmo-cbc |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 367 | |
| 368 | - osmo-e1-recorder: |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 369 | pipeline_binpkgs: "" |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 370 | |
| 371 | - gapk: |
Oliver Smith | 65005ed | 2024-03-18 14:20:20 +0100 | [diff] [blame] | 372 | pipeline_binpkgs: "debian:12" |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 373 | |
Harald Welte | 933f866 | 2020-04-17 15:00:10 +0200 | [diff] [blame] | 374 | - osmo-uecups |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 375 | |
| 376 | - osmo-el2tpd: |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 377 | pipeline_binpkgs: "" |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 378 | |
Oliver Smith | 7c15e26 | 2023-07-27 11:17:11 +0200 | [diff] [blame] | 379 | - osmo-smlc |
Harald Welte | 2933da3 | 2021-01-31 19:28:36 +0100 | [diff] [blame] | 380 | - osmo-gbproxy |
Pau Espin Pedrol | 2146640 | 2021-10-21 11:37:01 +0200 | [diff] [blame] | 381 | - osmo-hnodeb |
Oliver Smith | ddb8f3b | 2023-04-25 11:34:47 +0200 | [diff] [blame] | 382 | |
| 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 Smith | a307c7d | 2024-04-04 11:05:38 +0200 | [diff] [blame] | 388 | a3_name: NFTABLES |
| 389 | a3: !!python/tuple ["1", "0"] |
Oliver Smith | ddb8f3b | 2023-04-25 11:34:47 +0200 | [diff] [blame] | 390 | combination_filter: > |
Oliver Smith | a307c7d | 2024-04-04 11:05:38 +0200 | [diff] [blame] | 391 | (PFCP == "1" && WITH_MANUALS == "1" && NFTABLES == "1") || |
| 392 | (PFCP == "0" && WITH_MANUALS == "0" && NFTABLES == "0") |
Oliver Smith | ddb8f3b | 2023-04-25 11:34:47 +0200 | [diff] [blame] | 393 | cmd: | |
| 394 | {docker_run_ccache} \ |
| 395 | -e PFCP="$PFCP" \ |
| 396 | -e WITH_MANUALS="$WITH_MANUALS" \ |
Oliver Smith | a307c7d | 2024-04-04 11:05:38 +0200 | [diff] [blame] | 397 | -e NFTABLES="$NFTABLES" \ |
Oliver Smith | ddb8f3b | 2023-04-25 11:34:47 +0200 | [diff] [blame] | 398 | {docker_img} {timeout_cmd} /build/contrib/jenkins.sh |
| 399 | |
Oliver Smith | 5db0807 | 2023-12-05 16:00:37 +0100 | [diff] [blame] | 400 | - osmo-upf: |
Oliver Smith | b997fa9 | 2024-02-14 16:27:44 +0100 | [diff] [blame] | 401 | pipeline_binpkgs: "debian:11 debian:12" |
Harald Welte | 3027ead | 2017-10-29 11:56:34 +0000 | [diff] [blame] | 402 | |
Alexander Couzens | 92de527 | 2018-07-16 20:00:39 +0200 | [diff] [blame] | 403 | - pysim: |
Oliver Smith | f58d223 | 2019-09-20 09:01:05 +0200 | [diff] [blame] | 404 | concurrent: false |
Oliver Smith | ffd4e39 | 2022-11-28 12:29:45 +0100 | [diff] [blame] | 405 | slave_axis: !!python/tuple [simtester,osmocom-gerrit] |
Oliver Smith | ac5bae1 | 2022-10-18 16:26:13 +0200 | [diff] [blame] | 406 | a2_name: JOB_TYPE |
Vadim Yanitskiy | 31fd5cf | 2024-03-22 01:21:31 +0700 | [diff] [blame] | 407 | a2: !!python/tuple ["test", "distcheck", "pylint", "docs"] |
Oliver Smith | ac5bae1 | 2022-10-18 16:26:13 +0200 | [diff] [blame] | 408 | combination_filter: > |
| 409 | (JOB_TYPE == "test" && label == "simtester") || |
Vadim Yanitskiy | 31fd5cf | 2024-03-22 01:21:31 +0700 | [diff] [blame] | 410 | (JOB_TYPE == "distcheck" && label == "osmocom-gerrit") || |
Oliver Smith | ffd4e39 | 2022-11-28 12:29:45 +0100 | [diff] [blame] | 411 | (JOB_TYPE == "pylint" && label == "osmocom-gerrit") || |
| 412 | (JOB_TYPE == "docs" && label == "osmocom-gerrit") |
Oliver Smith | ac5bae1 | 2022-10-18 16:26:13 +0200 | [diff] [blame] | 413 | 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 Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 425 | pipeline_binpkgs: "" |
Alexander Couzens | 92de527 | 2018-07-16 20:00:39 +0200 | [diff] [blame] | 426 | |
Harald Welte | cb7c6ee | 2017-12-12 17:28:26 +0100 | [diff] [blame] | 427 | - osmo-ttcn3-hacks: |
Alexander Couzens | bff2750 | 2018-04-10 18:57:40 +0200 | [diff] [blame] | 428 | slave_axis: !!python/tuple [ttcn3] |
Oliver Smith | 61b9e76 | 2019-04-12 16:19:46 +0200 | [diff] [blame] | 429 | cmd: | |
Oliver Smith | b712491 | 2022-02-15 14:30:24 +0100 | [diff] [blame] | 430 | docker run \ |
| 431 | --rm \ |
| 432 | -v "$PWD:/build" \ |
Oliver Smith | bec3289 | 2023-08-03 11:07:38 +0200 | [diff] [blame] | 433 | "registry.osmocom.org/osmocom-build/debian-bookworm-titan" \ |
Oliver Smith | b712491 | 2022-02-15 14:30:24 +0100 | [diff] [blame] | 434 | {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 Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 442 | pipeline_binpkgs: "" |
Harald Welte | cb7c6ee | 2017-12-12 17:28:26 +0100 | [diff] [blame] | 443 | |
Oliver Smith | 58ecce9 | 2022-10-06 11:49:59 +0200 | [diff] [blame] | 444 | - dahdi-tools: |
| 445 | pipeline_lint: false |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 446 | pipeline_binpkgs: "" |
Harald Welte | 8349494 | 2022-02-21 21:23:58 +0100 | [diff] [blame] | 447 | |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 448 | jobs: |
Harald Welte | 4732773 | 2017-10-29 12:02:08 +0000 | [diff] [blame] | 449 | - 'gerrit-{repos}' |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 450 | - 'gerrit-{repos}-build' |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 451 | |
| 452 | - job-template: |
Harald Welte | 4732773 | 2017-10-29 12:02:08 +0000 | [diff] [blame] | 453 | name: 'gerrit-{repos}' |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 454 | project-type: pipeline |
Oliver Smith | 1449f02 | 2022-10-12 12:48:39 +0200 | [diff] [blame] | 455 | concurrent: true |
Oliver Smith | 4d214f4 | 2022-10-06 11:40:30 +0200 | [diff] [blame] | 456 | parameters: |
| 457 | - bool: |
| 458 | name: PIPELINE_BUILD |
| 459 | description: Enable the build job (runs contrib/jenkins.sh) |
| 460 | default: '{obj:pipeline_build}' |
Oliver Smith | 58ecce9 | 2022-10-06 11:49:59 +0200 | [diff] [blame] | 461 | - 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 Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 469 | - string: |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 470 | name: PIPELINE_BINPKGS |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 471 | 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 Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 476 | default: '{obj:pipeline_binpkgs}' |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 477 | dsl: | |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 478 | def run_job(display_name, job_name, comment_type=null, distro=null) {{ |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 479 | try {{ |
| 480 | echo "pipeline_${{display_name}}: running job ${{job_name}}" |
| 481 | |
Oliver Smith | c4ee740 | 2023-12-04 08:46:02 +0100 | [diff] [blame] | 482 | // 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 Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 485 | build job: job_name, parameters: [ |
| 486 | string(name: "COMMENT_TYPE", value: comment_type), |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 487 | string(name: "DISTRO", value: distro), |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 488 | 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 Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 507 | pipeline {{ |
Oliver Smith | 933804b | 2022-10-14 11:28:25 +0200 | [diff] [blame] | 508 | agent none |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 509 | stages {{ |
| 510 | stage("Verification") {{ |
| 511 | parallel {{ |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 512 | |
| 513 | // Run the comment job to add the pipeline link to gerrit |
Oliver Smith | 9f1889a | 2023-01-16 14:42:45 +0100 | [diff] [blame] | 514 | stage("Start Comment") {{ |
| 515 | steps {{ |
Oliver Smith | 9f1889a | 2023-01-16 14:42:45 +0100 | [diff] [blame] | 516 | script {{ |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 517 | run_job("comment_start", "gerrit-verifications-comment", "start") |
Oliver Smith | 9f1889a | 2023-01-16 14:42:45 +0100 | [diff] [blame] | 518 | }} |
| 519 | }} |
| 520 | }} |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 521 | |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 522 | stage("Build") {{ |
Oliver Smith | 4d214f4 | 2022-10-06 11:40:30 +0200 | [diff] [blame] | 523 | when {{ |
| 524 | expression {{ params.PIPELINE_BUILD }} |
| 525 | }} |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 526 | steps {{ |
| 527 | script {{ |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 528 | run_job("build", "gerrit-{repos}-build") |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 529 | }} |
| 530 | }} |
| 531 | }} |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 532 | |
Oliver Smith | 58ecce9 | 2022-10-06 11:49:59 +0200 | [diff] [blame] | 533 | stage("Lint") {{ |
| 534 | when {{ |
| 535 | expression {{ params.PIPELINE_LINT }} |
| 536 | }} |
| 537 | steps {{ |
| 538 | script {{ |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 539 | run_job("lint", "gerrit-lint") |
Oliver Smith | 58ecce9 | 2022-10-06 11:49:59 +0200 | [diff] [blame] | 540 | }} |
| 541 | }} |
| 542 | }} |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 543 | |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 544 | // 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 Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 549 | when {{ |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 550 | expression {{ params.PIPELINE_BINPKGS.split().size() > 0 }} |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 551 | }} |
| 552 | steps {{ |
| 553 | script {{ |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 554 | distro = params.PIPELINE_BINPKGS.split()[0] |
| 555 | run_job(distro, "gerrit-binpkgs", null, distro) |
Oliver Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 556 | }} |
| 557 | }} |
| 558 | }} |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 559 | |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 560 | stage("binpkgs-1") {{ |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 561 | when {{ |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 562 | expression {{ params.PIPELINE_BINPKGS.split().size() > 1 }} |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 563 | }} |
| 564 | steps {{ |
| 565 | script {{ |
Oliver Smith | 1dcb49a | 2023-07-26 14:34:42 +0200 | [diff] [blame] | 566 | 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 Smith | 9e1f9ae | 2022-10-07 15:39:38 +0200 | [diff] [blame] | 580 | }} |
| 581 | }} |
| 582 | }} |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 583 | |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 584 | }} // 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 Smith | ed604a0 | 2023-01-16 13:59:01 +0100 | [diff] [blame] | 589 | stage("Result Comment") {{ |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 590 | steps {{ |
Oliver Smith | 4e679c8 | 2022-10-07 10:16:24 +0200 | [diff] [blame] | 591 | script {{ |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 592 | run_job("comment_result", "gerrit-verifications-comment", "result") |
Oliver Smith | 4e679c8 | 2022-10-07 10:16:24 +0200 | [diff] [blame] | 593 | }} |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 594 | }} |
| 595 | }} |
Oliver Smith | bd76374 | 2023-07-27 16:48:57 +0200 | [diff] [blame] | 596 | |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 597 | }} |
| 598 | }} |
| 599 | disabled: '{obj:disabled}' |
| 600 | retry-count: 3 # scm checkout |
| 601 | properties: |
| 602 | - build-discarder: |
| 603 | days-to-keep: 30 |
Oliver Smith | d9f3232 | 2023-04-03 11:03:48 +0200 | [diff] [blame] | 604 | num-to-keep: 1000 |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 605 | 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 Smith | 4e679c8 | 2022-10-07 10:16:24 +0200 | [diff] [blame] | 642 | silent: true # comment + vote is done in gerrit-pipeline-result.yml |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 643 | escape-quotes: false |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 644 | server-name: gerrit.osmocom.org |
| 645 | |
| 646 | - job-template: |
| 647 | name: 'gerrit-{repos}-build' |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 648 | project-type: matrix |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 649 | concurrent: '{obj:concurrent}' |
| 650 | disabled: '{obj:disabled}' |
| 651 | retry-count: 3 # scm checkout |
Neels Hofmeyr | 28564a6 | 2017-12-09 01:11:01 +0100 | [diff] [blame] | 652 | properties: |
| 653 | - build-discarder: |
| 654 | days-to-keep: 30 |
Oliver Smith | d9f3232 | 2023-04-03 11:03:48 +0200 | [diff] [blame] | 655 | num-to-keep: 1000 |
Harald Welte | 5ce7f79 | 2017-10-29 12:02:44 +0000 | [diff] [blame] | 656 | description: | |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 657 | Build job of CI for patches sent to |
Harald Welte | 6a582f1 | 2017-10-29 12:15:10 +0000 | [diff] [blame] | 658 | <a href="https://gerrit.osmocom.org/#/q/status:open+project:{repos}">{repos}</a> |
Harald Welte | 5ce7f79 | 2017-10-29 12:02:44 +0000 | [diff] [blame] | 659 | <br/><br/> |
| 660 | <b>Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY!</b> |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 661 | |
| 662 | execution-strategy: |
Max | 9294d21 | 2018-01-22 16:27:38 +0100 | [diff] [blame] | 663 | sequential: '{obj:sequential}' |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 664 | 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 Hofmeyr | 27af5a2 | 2017-12-15 19:54:29 +0100 | [diff] [blame] | 690 | url: '{obj:repos_url}' |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 691 | credentials-id: d5eda5e9-b59d-44ba-88d2-43473cb6e42d |
| 692 | branches: |
| 693 | - $GERRIT_BRANCH |
Harald Welte | 920b27b | 2017-10-29 17:52:17 +0100 | [diff] [blame] | 694 | refspec: $GERRIT_REFSPEC |
| 695 | name: |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 696 | choosing-strategy: gerrit |
| 697 | wipe-workspace: false |
| 698 | skip-tag: true |
Harald Welte | cbce526 | 2020-12-17 15:32:43 +0100 | [diff] [blame] | 699 | submodule: |
| 700 | recursive: true |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 701 | |
Oliver Smith | c3bab9a | 2022-10-06 10:53:54 +0200 | [diff] [blame] | 702 | parameters: |
Oliver Smith | c4ee740 | 2023-12-04 08:46:02 +0100 | [diff] [blame] | 703 | !include: gerrit-verifications-parameters.yaml.inc |
André Boddenberg | 6c401be | 2017-09-12 13:16:33 +0200 | [diff] [blame] | 704 | |
| 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 Hofmeyr | cf60aaa | 2017-10-30 04:02:11 +0100 | [diff] [blame] | 713 | |
| 714 | # vim: expandtab tabstop=2 shiftwidth=2 |