# 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 happens when changing the pipeline script, when adding new projects etc. - 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-buster-jenkins' docker_img_erlang: '$USER/debian-bullseye-erlang' 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: true # in alphabetical order repos: - asn1c: pipeline_binpkgs: false - cellmgr-ng - docker-playground: pipeline_build: false pipeline_binpkgs: false - libasn1c - libgtpnl - libosmo-abis - libosmo-gprs - libosmo-netif - libosmo-pfcp - libosmo-sccp - libosmocore: 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"' - libsmpp34 - libtelnet: pipeline_binpkgs: false - libusrp - openbsc: a1_name: SMPP a1: !!python/tuple [--enable-smpp] a2_name: MGCP a2: !!python/tuple [--enable-mgcp-transcoding, --disable-mgcp-transcoding] a3_name: IU a3: !!python/tuple [--disable-iu] cmd: | {docker_run_ccache} \ -e IU="$IU" \ -e SMPP="$SMPP" \ -e MGCP="$MGCP" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh pipeline_binpkgs: false - 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, rpi4-raspbian11] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, femtobts_v2.7, superfemto_v2.4, superfemto_v3.0.1pre, superfemto_v3.1, superfemto_v5.1, v2017.01, 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 == "rpi4-raspbian11") || (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*) DOCKER_IMG="$DOCKER_IMG-arm" ;; esac {docker_run_ccache} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -e WITH_MANUALS="$WITH_MANUALS" \ "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins_bts_model.sh "$BTS_MODEL" - osmo_dia2gsup: repos_url: '{gerrit_url}/erlang/{repos}' gerrit_project: 'erlang/{repos}' cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh' - osmo-e1-hardware: a2_name: JOB_TYPE a2: !!python/tuple ["firmware", "gateware", "manuals", "software"] cmd: | DOCKER_IMG="{docker_img}" case "$JOB_TYPE" in firmware|gateware|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: false - osmo-ci: pipeline_build: false pipeline_binpkgs: false - 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 - 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: false - 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 == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") cmd: | {docker_run_ccache} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh - osmo-pcap - osmo-pcu: slave_axis: !!python/tuple [osmocom-gerrit, rpi4-raspbian11] 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 == "rpi4-raspbian11") cmd: | DOCKER_IMG="{docker_img}" case "$(arch)" in arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;; esac {docker_run_ccache} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -e with_vty="$with_vty" \ -e with_dsp="$with_dsp" \ -e WITH_MANUALS="$WITH_MANUALS" \ "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins.sh - osmo-python-tests: repos_url: '{gerrit_url}/python/{repos}' gerrit_project: 'python/{repos}' - osmo-sgsn: a1_name: IU a1: !!python/tuple [--enable-iu, --disable-iu] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] combination_filter: > (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") 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: false - osmo-sip-connector - osmo-trx: slave_axis: !!python/tuple [osmocom-gerrit,rpi4-raspbian11] a1_name: INSTR a1: !!python/tuple [--with-sse, --without-sse, --with-neon, --with-neon-vfpv4] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] combination_filter: > (INSTR == "--without-sse" && WITH_MANUALS == "1" && label == "osmocom-gerrit") || (INSTR == "--with-sse" && WITH_MANUALS == "0" && label == "osmocom-gerrit") || (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") || (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") cmd: | DOCKER_IMG="{docker_img}" case "$(arch)" in arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;; esac {docker_run_ccache} \ -e INSTR="$INSTR" \ -e WITH_MANUALS="$WITH_MANUALS" \ "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins.sh - osmocom-bb: pipeline_binpkgs: false - osmo-tetra: pipeline_binpkgs: false - osmo-sysmon - osmo-remsim - simtrace2 - osmo-opencm3-projects: docker_img: '$USER/debian-bullseye-jenkins' cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh' pipeline_binpkgs: false - osmo-asf4-dfu: pipeline_binpkgs: false - osmo-ccid-firmware: pipeline_binpkgs: false - osmo-e1d - osmo-cbc - osmo-e1-recorder: pipeline_binpkgs: false - gapk: pipeline_binpkgs: false - osmo-uecups - osmo-el2tpd: pipeline_binpkgs: false - osmo-smlc - osmo-gbproxy - osmo-hnodeb - osmo-hnbgw - osmo-upf - pysim: concurrent: false slave_axis: !!python/tuple [simtester,osmocom-gerrit] a2_name: JOB_TYPE a2: !!python/tuple ["test", "pylint", "docs"] combination_filter: > (JOB_TYPE == "test" && label == "simtester") || (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: false - osmo-ttcn3-hacks: slave_axis: !!python/tuple [ttcn3] cmd: | docker run \ --rm \ -v "$PWD:/build" \ "registry.osmocom.org/osmocom-build/debian-bullseye-titan" \ {timeout_cmd} \ sh -e -x -c " useradd --uid=1000 build; cd /build; su build -c 'make deps'; su build -c 'make clean'; su build -c 'make compile'; " pipeline_binpkgs: false - dahdi-tools: pipeline_lint: false pipeline_binpkgs: false 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}' - bool: name: PIPELINE_BINPKGS description: Enable the binpkgs job (build deb/rpm packages) default: '{obj:pipeline_binpkgs}' # NOTE: jenkins pipelines don't run unless the dsl-script was approved. # Sadly this doesn't happen automatically when updating the job with # Jenkins Job Builder. So if you change the pipeline script, update the job # as usually with JJB and then approve the scripts here: # https://jenkins.osmocom.org/jenkins/scriptApproval/ dsl: | pipeline {{ agent none stages {{ stage("Verification") {{ parallel {{ stage("Start Comment") {{ steps {{ // Run the comment job to add the pipeline link to gerrit script {{ // Keep going on failure catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {{ build job: 'gerrit-verifications-comment', parameters: [ string(name: "COMMENT_TYPE", value: "start"), string(name: "GERRIT_PROJECT", value: "${{env.GERRIT_PROJECT}}"), string(name: "GERRIT_CHANGE_NUMBER", value: "${{env.GERRIT_CHANGE_NUMBER}}"), string(name: "GERRIT_PATCHSET_NUMBER", value: "${{env.GERRIT_PATCHSET_NUMBER}}"), string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"), string(name: "GERRIT_HOST", value: "${{env.GERRIT_HOST}}"), string(name: "GERRIT_PATCHSET_REVISION", value: "${{env.GERRIT_PATCHSET_REVISION}}"), string(name: "GERRIT_PATCHSET_UPLOADER_NAME", value: "${{env.GERRIT_PATCHSET_UPLOADER_NAME}}"), string(name: "GERRIT_PORT", value: "${{env.GERRIT_PORT}}"), string(name: "GERRIT_REFSPEC", value: "${{env.GERRIT_REFSPEC}}"), string(name: "PIPELINE_BUILD_URL", value: "${{env.BUILD_URL}}"), ] }} }} }} }} stage("Build") {{ when {{ expression {{ params.PIPELINE_BUILD }} }} steps {{ script {{ // Run the build job for this repository and keep going on failure catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {{ env.PIPELINE_BUILD_PASSED = "0" build job: 'gerrit-{repos}-build', parameters: [ string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"), string(name: "GERRIT_REFSPEC", value: "${{env.GERRIT_REFSPEC}}"), ] env.PIPELINE_BUILD_PASSED = "1" }} }} }} }} stage("Lint") {{ when {{ expression {{ params.PIPELINE_LINT }} }} steps {{ script {{ // Run the lint job for this repository and keep going on failure catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {{ env.PIPELINE_LINT_PASSED = "0" build job: 'gerrit-lint', parameters: [ string(name: "GERRIT_PROJECT", value: "${{env.GERRIT_PROJECT}}"), string(name: "GERRIT_CHANGE_NUMBER", value: "${{env.GERRIT_CHANGE_NUMBER}}"), string(name: "GERRIT_PATCHSET_NUMBER", value: "${{env.GERRIT_PATCHSET_NUMBER}}"), string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"), string(name: "GERRIT_HOST", value: "${{env.GERRIT_HOST}}"), string(name: "GERRIT_PATCHSET_REVISION", value: "${{env.GERRIT_PATCHSET_REVISION}}"), string(name: "GERRIT_PORT", value: "${{env.GERRIT_PORT}}"), string(name: "GERRIT_REFSPEC", value: "${{env.GERRIT_REFSPEC}}"), string(name: "GERRIT_REPO_URL", value: "${{env.REPO_URL}}"), ] env.PIPELINE_LINT_PASSED = "1" }} }} }} }} stage("deb") {{ when {{ expression {{ params.PIPELINE_BINPKGS }} }} steps {{ script {{ // Run the binpkgs job for this repository and keep going on failure catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {{ env.PIPELINE_DEB_PASSED = "0" build job: 'gerrit-binpkgs-deb', parameters: [ string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"), string(name: "GERRIT_REFSPEC", value: "${{env.GERRIT_REFSPEC}}"), string(name: "GERRIT_REPO_URL", value: "${{env.REPO_URL}}"), string(name: "PROJECT_NAME", value: "{repos}"), ] env.PIPELINE_DEB_PASSED = "1" }} }} }} }} stage("rpm") {{ when {{ expression {{ params.PIPELINE_BINPKGS }} }} steps {{ script {{ // Run the binpkgs job for this repository and keep going on failure catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {{ env.PIPELINE_RPM_PASSED = "0" build job: 'gerrit-binpkgs-rpm', parameters: [ string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"), string(name: "GERRIT_REFSPEC", value: "${{env.GERRIT_REFSPEC}}"), string(name: "GERRIT_REPO_URL", value: "${{env.REPO_URL}}"), string(name: "PROJECT_NAME", value: "{repos}"), ] env.PIPELINE_RPM_PASSED = "1" }} }} }} }} }} }} stage("Result Comment") {{ steps {{ echo "PIPELINE_BUILD_PASSED=${{env.PIPELINE_BUILD_PASSED}}" echo "PIPELINE_LINT_PASSED=${{env.PIPELINE_LINT_PASSED}}" echo "PIPELINE_DEB_PASSED=${{env.PIPELINE_DEB_PASSED}}" echo "PIPELINE_RPM_PASSED=${{env.PIPELINE_RPM_PASSED}}" // Run the comment job to get successful/failed links and add a // comment + vote to gerrit script {{ build job: 'gerrit-verifications-comment', parameters: [ string(name: "COMMENT_TYPE", value: "result"), string(name: "GERRIT_PROJECT", value: "${{env.GERRIT_PROJECT}}"), string(name: "GERRIT_CHANGE_NUMBER", value: "${{env.GERRIT_CHANGE_NUMBER}}"), string(name: "GERRIT_PATCHSET_NUMBER", value: "${{env.GERRIT_PATCHSET_NUMBER}}"), string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"), string(name: "GERRIT_HOST", value: "${{env.GERRIT_HOST}}"), string(name: "GERRIT_PATCHSET_REVISION", value: "${{env.GERRIT_PATCHSET_REVISION}}"), string(name: "GERRIT_PATCHSET_UPLOADER_NAME", value: "${{env.GERRIT_PATCHSET_UPLOADER_NAME}}"), string(name: "GERRIT_PORT", value: "${{env.GERRIT_PORT}}"), string(name: "GERRIT_REFSPEC", value: "${{env.GERRIT_REFSPEC}}"), string(name: "PIPELINE_BUILD_URL", value: "${{env.BUILD_URL}}"), ] }} }} }} // The end result is success if all started jobs were successful, // and failed otherwise. }} }} disabled: '{obj:disabled}' retry-count: 3 # scm checkout properties: - build-discarder: days-to-keep: 30 num-to-keep: 120 artifact-days-to-keep: -1 artifact-num-to-keep: -1 description: | Pipeline of CI for patches sent to {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: 120 artifact-days-to-keep: -1 artifact-num-to-keep: -1 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: - string: name: GERRIT_BRANCH description: set by gerrit-{repos} job - string: name: GERRIT_REFSPEC description: set by gerrit-{repos} job builders: - shell: '{obj:cmd}' publishers: - warnings: console-log-parsers: - 'GNU C Compiler 4 (gcc)' resolve-relative-paths: true # vim: expandtab tabstop=2 shiftwidth=2