# This file holds all gerrit build verifications https://jenkins.osmocom.org/jenkins/view/Jenkins-Gerrit/. # One can simply add a gerrit job by adding project's repository to repos list. # # Overview of jobs involved in the pipeline: # https://osmocom.org/projects/osmocom-servers/wiki/Jenkins_gerrit-verifications_Pipeline # # 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). # # 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 used to be necessary when changing the pipeline script, adding new # projects etc. But it seems to get auto-approved now. - project: name: gerrit # following default values can be overridden by each repo disabled: false concurrent: true # axes related defaults slave_axis: !!python/tuple [osmocom-gerrit] a1_name: a1 a1: !!python/tuple [default] a2_name: a2 a2: !!python/tuple [default] a3_name: a3 a3: !!python/tuple [default] a4_name: a4 a4: !!python/tuple [default] combination_filter: '' sequential: false # most common build invocation # SYS_PTRACE is needed for ASAN (https://github.com/google/sanitizers/issues/764) # Documentation for variables (keep in sync!): # https://osmocom.org/projects/osmocom-servers/wiki/Jenkins_build_verification_jobs docker_run: | docker run --rm=true \ --cap-add SYS_PTRACE \ -e ASCIIDOC_WARNINGS_CHECK="1" \ -e HOME=/build \ -e JOB_NAME="$JOB_NAME" \ -e MAKE=make \ -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ -e OSMO_GSM_MANUALS_DIR="/opt/osmo-gsm-manuals" \ -e PARALLEL_MAKE="$PARALLEL_MAKE" \ -e WITH_MANUALS="1" \ -w /build -i -u build \ -v "$PWD:/build" \ docker_run_ccache: | CCACHE_DIR="$HOME/ccache/gerrit-verifications" mkdir -p "$CCACHE_DIR" chown osmocom-build:osmocom-build "$CCACHE_DIR" docker run --rm=true \ --cap-add SYS_PTRACE \ -e ASCIIDOC_WARNINGS_CHECK="1" \ -e HOME=/build \ -e JOB_NAME="$JOB_NAME" \ -e MAKE=make \ -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ -e OSMO_GSM_MANUALS_DIR="/opt/osmo-gsm-manuals" \ -e PARALLEL_MAKE="$PARALLEL_MAKE" \ -e WITH_MANUALS="1" \ -w /build -i -u build \ -v "$PWD:/build" \ \ -e CCACHE_DIR="/ccache" \ -e PATH="/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \ -v "$CCACHE_DIR:/ccache" \ docker_img: '$USER/debian-bookworm-build' docker_img_erlang: '$USER/debian-bookworm-erlang' docker_img_android: 'registry.osmocom.org/osmocom-build/debian-bookworm-android' timeout_cmd: '/usr/bin/timeout 30m' cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh' gerrit_url: 'ssh://jenkins@gerrit.osmocom.org:29418' repos_url: '{gerrit_url}/{repos}' gerrit_project: '{repos}' # Which jobs to run in the pipeline pipeline_build: true pipeline_lint: true pipeline_binpkgs: "debian:10 debian:12" # in alphabetical order repos: - android-apdu-proxy: pipeline_binpkgs: "" concurrent: false # might cause problems with shared cache cmd: | ANDROID_CACHE="$HOME/android-cache/gerrit-verifications/android" GRADLE_CACHE="$HOME/android-cache/gerrit-verifications/gradle" mkdir -p "$ANDROID_CACHE" "$GRADLE_CACHE" docker pull {docker_img_android} {docker_run} \ -v "$ANDROID_CACHE":/build/.android \ -v "$GRADLE_CACHE":/build/.gradle \ {docker_img_android} {timeout_cmd} contrib/jenkins.sh - asn1c: pipeline_binpkgs: "" pipeline_lint: false - cellmgr-ng: pipeline_binpkgs: "debian:10 debian:12" - docker-playground: pipeline_build: false pipeline_binpkgs: "" - libasn1c - libgtpnl - libosmo-abis - libosmo-gprs - libosmo-netif - libosmo-pfcp - libosmo-sigtran - libosmocore: slave_axis: !!python/tuple [io_uring] # OS#6405 a1_name: arch a1: !!python/tuple [arm-none-eabi, amd64] combination_filter: '!(arch=="arm-none-eabi" && label=="FreeBSD_amd64")' cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins_arch.sh "$arch"' pipeline_binpkgs: "centos:7 debian:10 debian:12" # centos7: SYS#6760 - libsmpp34 - libtelnet: pipeline_binpkgs: "" - libusrp - openggsn: a1_name: GTP a1: !!python/tuple [--enable-gtp-linux,--disable-gtp-linux] concurrent: false cmd: '{timeout_cmd} ./contrib/jenkins.sh' - osmo-bsc - osmo-bsc-nat - osmo-bts: slave_axis: !!python/tuple [osmocom-gerrit, raspbian] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, femtobts_v2.7, superfemto_v2.4, superfemto_v3.0.1pre, superfemto_v3.1, superfemto_v5.1, v2017.01, litecell15, oc2g, oc2g-next] a2_name: BTS_MODEL a2: !!python/tuple [sysmo, oct, trx, oct+trx, lc15, oc2g] a3_name: WITH_MANUALS a3: !!python/tuple ["1", "0"] combination_filter: > (FIRMWARE_VERSION == "master" && WITH_MANUALS == "0" && label == "osmocom-gerrit") || (FIRMWARE_VERSION == "master" && BTS_MODEL == "trx" && WITH_MANUALS == "0" && label == "raspbian") || (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") concurrent: false cmd: | DOCKER_IMG="{docker_img}" case "$(arch)" in arm*|aarch64) DOCKER_IMG="$DOCKER_IMG-arm" SETARCH_CMD="setarch linux32" ;; esac {docker_run_ccache} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -e WITH_MANUALS="$WITH_MANUALS" \ "$DOCKER_IMG" {timeout_cmd} $SETARCH_CMD /build/contrib/jenkins_bts_model.sh "$BTS_MODEL" - osmo_dia2gsup: repos_url: '{gerrit_url}/erlang/{repos}' gerrit_project: 'erlang/{repos}' cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh' pipeline_binpkgs: "debian:11 debian:12" - osmo-epdg: repos_url: '{gerrit_url}/erlang/{repos}' gerrit_project: 'erlang/{repos}' pipeline_binpkgs: "debian:12" a2_name: JOB_TYPE a2: !!python/tuple ["build", "manuals"] cmd: | case "$JOB_TYPE" in build) {docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh ;; manuals) {docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins_manuals.sh ;; esac - osmo-s1gw: repos_url: '{gerrit_url}/erlang/{repos}' gerrit_project: 'erlang/{repos}' pipeline_binpkgs: "debian:12" cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh' - osmo-e1-hardware: a2_name: JOB_TYPE a2: !!python/tuple ["firmware", "gateware", "manuals", "software"] cmd: | DOCKER_IMG="{docker_img}" case "$JOB_TYPE" in firmware|gateware|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 pipeline_binpkgs: "" - osmo-ci: pipeline_build: false pipeline_binpkgs: "" - osmo-ggsn: a1_name: GTP a1: !!python/tuple [--enable-gtp-linux,--disable-gtp-linux] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] combination_filter: > (GTP == "--enable-gtp-linux" && WITH_MANUALS == "0") || (GTP == "--disable-gtp-linux" && WITH_MANUALS == "1") cmd: | {docker_run_ccache} \ -e GTP="$GTP" \ -e WITH_MANUALS="$WITH_MANUALS" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh - osmo-gsm-manuals: pipeline_binpkgs: "debian:10 debian:12" - osmo_gsup: repos_url: '{gerrit_url}/erlang/{repos}' gerrit_project: 'erlang/{repos}' cmd: '{docker_run_ccache} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh' pipeline_binpkgs: "" - osmo-hlr - osmo-iuh - osmo-mgw - osmo-msc: a1_name: IU a1: !!python/tuple [--enable-iu, --disable-iu] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] combination_filter: > (IU == "--enable-iu" && WITH_MANUALS == "1") || (IU == "--disable-iu" && WITH_MANUALS == "0") cmd: | {docker_run_ccache} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh - osmo-pcap: pipeline_binpkgs: "centos:7 debian:10 debian:12" # centos7: SYS#6760 - osmo-pcu: slave_axis: !!python/tuple [osmocom-gerrit, raspbian] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, v2017.01, litecell15, oc2g] a2_name: with_vty a2: !!python/tuple [True, False] a3_name: with_dsp a3: !!python/tuple [sysmo, lc15, oc2g, none] a4_name: WITH_MANUALS a4: !!python/tuple ["1", "0"] combination_filter: > (with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-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") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "raspbian") cmd: | DOCKER_IMG="{docker_img}" case "$(arch)" in arm*|aarch64) DOCKER_IMG="$DOCKER_IMG-arm" SETARCH_CMD="setarch linux32" ;; esac {docker_run_ccache} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -e with_vty="$with_vty" \ -e with_dsp="$with_dsp" \ -e WITH_MANUALS="$WITH_MANUALS" \ "$DOCKER_IMG" {timeout_cmd} $SETARCH_CMD /build/contrib/jenkins.sh - osmo-python-tests: repos_url: '{gerrit_url}/python/{repos}' gerrit_project: 'python/{repos}' pipeline_binpkgs: "debian:10 debian:12" - pyosmocom: repos_url: '{gerrit_url}/python/{repos}' gerrit_project: 'python/{repos}' pipeline_binpkgs: "debian:12" concurrent: false slave_axis: !!python/tuple [simtester,osmocom-gerrit] a2_name: JOB_TYPE a2: !!python/tuple ["test", "pylint", "docs", "pysim"] combination_filter: > (JOB_TYPE == "test" && label == "osmocom-gerrit") || (JOB_TYPE == "pylint" && label == "osmocom-gerrit") || (JOB_TYPE == "docs" && label == "osmocom-gerrit") || (JOB_TYPE == "pysim" && label == "simtester") cmd: | case "$JOB_TYPE" in "pysim") {timeout_cmd} ./contrib/jenkins.sh ;; *) {docker_run} \ -e JOB_TYPE="$JOB_TYPE" \ {docker_img} \ {timeout_cmd} /build/contrib/jenkins.sh ;; esac - osmo-sgsn: a1_name: IU a1: !!python/tuple [--enable-iu, --disable-iu] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] combination_filter: > (IU == "--enable-iu" && WITH_MANUALS == "1") || (IU == "--disable-iu" && WITH_MANUALS == "0") cmd: | {docker_run_ccache} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh - osmo_ss7: repos_url: '{gerrit_url}/erlang/{repos}' gerrit_project: 'erlang/{repos}' cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh' pipeline_binpkgs: "" - osmo-sip-connector - osmo-trx: slave_axis: !!python/tuple [osmocom-gerrit,raspbian] a1_name: INSTR a1: !!python/tuple [--with-sse, --without-sse, --with-neon, --with-neon-vfpv4] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] combination_filter: > (INSTR == "--without-sse" && WITH_MANUALS == "1" && label == "osmocom-gerrit") || (INSTR == "--with-sse" && WITH_MANUALS == "0" && label == "osmocom-gerrit") || (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "raspbian") || (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "raspbian") cmd: | DOCKER_IMG="{docker_img}" case "$(arch)" in arm*|aarch64) DOCKER_IMG="$DOCKER_IMG-arm" SETARCH_CMD="setarch linux32" ;; esac {docker_run_ccache} \ -e INSTR="$INSTR" \ -e WITH_MANUALS="$WITH_MANUALS" \ "$DOCKER_IMG" {timeout_cmd} $SETARCH_CMD /build/contrib/jenkins.sh - osmocom-bb: pipeline_binpkgs: "debian:12" - osmo-tetra: pipeline_binpkgs: "" - osmo-sysmon: pipeline_binpkgs: "debian:10 debian:12" - osmo-remsim - simtrace2 - osmo-opencm3-projects: cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh' pipeline_binpkgs: "" - osmo-asf4-dfu: pipeline_binpkgs: "" - osmo-ccid-firmware: pipeline_binpkgs: "" - osmo-e1d - osmo-cbc - osmo-e1-recorder: pipeline_binpkgs: "" - gapk: pipeline_binpkgs: "debian:12" - osmo-uecups - osmo-el2tpd: pipeline_binpkgs: "" - osmo-smlc - osmo-gbproxy - osmo-hnodeb - osmo-hnbgw: a1_name: PFCP a1: !!python/tuple ["1", "0"] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] a3_name: NFTABLES a3: !!python/tuple ["1", "0"] combination_filter: > (PFCP == "1" && WITH_MANUALS == "1" && NFTABLES == "1") || (PFCP == "0" && WITH_MANUALS == "0" && NFTABLES == "0") cmd: | {docker_run_ccache} \ -e PFCP="$PFCP" \ -e WITH_MANUALS="$WITH_MANUALS" \ -e NFTABLES="$NFTABLES" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh - osmo-upf: pipeline_binpkgs: "debian:11 debian:12" - pysim: concurrent: false slave_axis: !!python/tuple [simtester,osmocom-gerrit] a2_name: JOB_TYPE a2: !!python/tuple ["test", "distcheck", "pylint", "docs"] combination_filter: > (JOB_TYPE == "test" && label == "simtester") || (JOB_TYPE == "distcheck" && label == "osmocom-gerrit") || (JOB_TYPE == "pylint" && label == "osmocom-gerrit") || (JOB_TYPE == "docs" && label == "osmocom-gerrit") 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 pipeline_binpkgs: "" - osmo-ttcn3-hacks: slave_axis: !!python/tuple [ttcn3] cmd: | docker run \ --rm \ -v "$PWD:/build" \ "registry.osmocom.org/osmocom-build/debian-bookworm-titan" \ {timeout_cmd} \ sh -e -x -c ' useradd --uid=1000 build for i in /osmo-ttcn3-hacks/deps/*/; do if ! [ -e /build/deps/"$(basename "$i")" ]; then ln -s "$i" /build/deps/ fi done su build -c "make -C /build compile" ' pipeline_binpkgs: "" - dahdi-tools: pipeline_lint: false pipeline_binpkgs: "" - upf-benchmark: pipeline_binpkgs: "" jobs: - 'gerrit-{repos}' - 'gerrit-{repos}-build' - job-template: name: 'gerrit-{repos}' project-type: pipeline concurrent: true parameters: - bool: name: PIPELINE_BUILD description: Enable the build job (runs contrib/jenkins.sh) default: '{obj:pipeline_build}' - 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}' - string: name: PIPELINE_BINPKGS description: | Enable the binpkgs job (build deb/rpm packages) for the given space separated distributions. Empty list disables the binpkgs job. The distributions must have binary packages in the osmocom:master repository. default: '{obj:pipeline_binpkgs}' dsl: | def run_job(display_name, job_name, comment_type=null, distro=null) {{ try {{ echo "pipeline_${{display_name}}: running job ${{job_name}}" // IMPORTANT: Keep gerrit-verifications-parameters.yaml.inc in sync // with the list of parameters here, and make sure all jobs passed // to run_job() include the .yaml.inc file. (OS#6261) build job: job_name, parameters: [ string(name: "COMMENT_TYPE", value: comment_type), string(name: "DISTRO", value: distro), string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"), string(name: "GERRIT_CHANGE_NUMBER", value: "${{env.GERRIT_CHANGE_NUMBER}}"), string(name: "GERRIT_HOST", value: "${{env.GERRIT_HOST}}"), string(name: "GERRIT_PATCHSET_NUMBER", value: "${{env.GERRIT_PATCHSET_NUMBER}}"), string(name: "GERRIT_PATCHSET_REVISION", value: "${{env.GERRIT_PATCHSET_REVISION}}"), string(name: "GERRIT_PATCHSET_UPLOADER_NAME", value: "${{env.GERRIT_PATCHSET_UPLOADER_NAME}}"), string(name: "GERRIT_PORT", value: "${{env.GERRIT_PORT}}"), string(name: "GERRIT_PROJECT", value: "${{env.GERRIT_PROJECT}}"), string(name: "GERRIT_REFSPEC", value: "${{env.GERRIT_REFSPEC}}"), string(name: "GERRIT_REPO_URL", value: "${{env.REPO_URL}}"), string(name: "PIPELINE_BUILD_URL", value: "${{env.BUILD_URL}}"), string(name: "PROJECT_NAME", value: "{repos}"), ] echo "pipeline_${{display_name}}: SUCCESS" }} catch (Exception e) {{ echo "pipeline_${{display_name}}: FAILED" }} }} pipeline {{ agent none stages {{ stage("Verification") {{ parallel {{ // Run the comment job to add the pipeline link to gerrit stage("Start Comment") {{ steps {{ script {{ run_job("comment_start", "gerrit-verifications-comment", "start") }} }} }} stage("Build") {{ when {{ expression {{ params.PIPELINE_BUILD }} }} steps {{ script {{ run_job("build", "gerrit-{repos}-build") }} }} }} stage("Lint") {{ when {{ expression {{ params.PIPELINE_LINT }} }} steps {{ script {{ run_job("lint", "gerrit-lint") }} }} }} // Generating binpkgs stages is not possible if we want to run // them in parallel and not have another job that just waits // until they complete. stage("binpkgs-0") {{ when {{ expression {{ params.PIPELINE_BINPKGS.split().size() > 0 }} }} steps {{ script {{ distro = params.PIPELINE_BINPKGS.split()[0] run_job(distro, "gerrit-binpkgs", null, distro) }} }} }} stage("binpkgs-1") {{ when {{ expression {{ params.PIPELINE_BINPKGS.split().size() > 1 }} }} steps {{ script {{ distro = params.PIPELINE_BINPKGS.split()[1] run_job(distro, "gerrit-binpkgs", null, distro) }} }} }} stage("binpkgs-2") {{ when {{ expression {{ params.PIPELINE_BINPKGS.split().size() > 2 }} }} steps {{ script {{ distro = params.PIPELINE_BINPKGS.split()[2] run_job(distro, "gerrit-binpkgs", null, distro) }} }} }} }} // end of parallel }} // end of Verification stage // Run the comment job to get successful/failed links and add a // comment + vote to gerrit stage("Result Comment") {{ steps {{ script {{ run_job("comment_result", "gerrit-verifications-comment", "result") }} }} }} }} }} disabled: '{obj:disabled}' retry-count: 3 # scm checkout properties: - build-discarder: days-to-keep: 30 num-to-keep: 1000 description: | Pipeline of CI for patches sent to {repos}

Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY! 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 silent: true # comment + vote is done in gerrit-pipeline-result.yml escape-quotes: false server-name: gerrit.osmocom.org - job-template: name: 'gerrit-{repos}-build' project-type: matrix concurrent: '{obj:concurrent}' disabled: '{obj:disabled}' retry-count: 3 # scm checkout properties: - build-discarder: days-to-keep: 30 num-to-keep: 1000 description: | Build job of CI for patches sent to {repos}

Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY! execution-strategy: sequential: '{obj:sequential}' combination-filter: | {obj:combination_filter} axes: - axis: type: slave name: label values: '{obj:slave_axis}' - axis: type: user-defined name: '{obj:a1_name}' values: '{obj:a1}' - axis: type: user-defined name: '{obj:a2_name}' values: '{obj:a2}' - axis: type: user-defined name: '{obj:a3_name}' values: '{obj:a3}' - axis: type: user-defined name: '{obj:a4_name}' values: '{obj:a4}' scm: - git: url: '{obj:repos_url}' 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 parameters: !include: gerrit-verifications-parameters.yaml.inc builders: - shell: '{obj:cmd}' # Remove workspace on success to free up space - shell: 'rm -rf "$WORKSPACE"' publishers: - warnings: console-log-parsers: - 'GNU C Compiler 4 (gcc)' resolve-relative-paths: true # vim: expandtab tabstop=2 shiftwidth=2