| # 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 |
| node: osmocom-gerrit-debian9 |
| # axes related defaults |
| slave_axis: !!python/tuple [osmocom-gerrit-debian9] |
| 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: | |
| ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" |
| mkdir -p "$ARTIFACT_STORE" |
| docker run --rm=true \ |
| --cap-add SYS_PTRACE \ |
| -e ARTIFACT_STORE=/artifact_store \ |
| -e ASCIIDOC_WARNINGS_CHECK="1" \ |
| -e HOME=/build \ |
| -e JOB_NAME="$JOB_NAME" \ |
| -e MAKE=make \ |
| -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ |
| -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" \ |
| -v "$ARTIFACT_STORE:/artifact_store" \ |
| docker_img: '$USER/debian-buster-jenkins' |
| docker_img_erlang: '$USER/debian-bullseye-erlang' |
| timeout_cmd: '/usr/bin/timeout 30m' |
| cmd: '{docker_run} {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} {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} \ |
| -e IU="$IU" \ |
| -e SMPP="$SMPP" \ |
| -e MGCP="$MGCP" \ |
| {docker_img} {timeout_cmd} /build/contrib/jenkins.sh |
| |
| - 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-master-debian9, 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-master-debian9") || |
| (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-master-debian9") || |
| (FIRMWARE_VERSION == "superfemto_v2.4" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || |
| (FIRMWARE_VERSION == "superfemto_v3.0.1pre" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || |
| (FIRMWARE_VERSION == "superfemto_v3.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || |
| (FIRMWARE_VERSION == "superfemto_v5.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || |
| (FIRMWARE_VERSION == "v2017.01" && BTS_MODEL == "lc15" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || |
| (FIRMWARE_VERSION == "litecell15" && BTS_MODEL == "lc15" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || |
| (FIRMWARE_VERSION == "oc2g" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || |
| (FIRMWARE_VERSION == "oc2g-next" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") |
| concurrent: false |
| cmd: | |
| {docker_run} \ |
| -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: |
| docker_img: 'registry.osmocom.org/$USER/fpga-build' |
| cmd: 'docker pull {docker_img} && {docker_run} {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} \ |
| -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} {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} \ |
| -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-master-debian9, 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-master-debian9") || |
| (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || |
| (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || |
| (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="litecell15" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || |
| (with_vty == "True" && with_dsp == "oc2g" && FIRMWARE_VERSION=="oc2g" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || |
| (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || |
| (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") |
| cmd: | |
| {docker_run} \ |
| -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} \ |
| -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-master-debian9,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-master-debian9") || |
| (INSTR == "--with-sse" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || |
| (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") || |
| (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") |
| cmd: | |
| {docker_run} \ |
| -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: |
| slave_axis: !!python/tuple [simtester] |
| concurrent: false |
| cmd: '{timeout_cmd} ./contrib/jenkins.sh' |
| 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("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_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") {{ |
| 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 result job to get successful/failed links and add a |
| // comment + vote to gerrit |
| script {{ |
| build job: 'gerrit-pipeline-result', parameters: [ |
| 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 |
| <a href="https://gerrit.osmocom.org/#/q/status:open+project:{repos}">{repos}</a> |
| <br/><br/> |
| <b>Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY!</b> |
| |
| scm: |
| - git: |
| url: '{obj:repos_url}' |
| credentials-id: d5eda5e9-b59d-44ba-88d2-43473cb6e42d |
| branches: |
| - $GERRIT_BRANCH |
| refspec: $GERRIT_REFSPEC |
| name: |
| choosing-strategy: gerrit |
| wipe-workspace: false |
| skip-tag: true |
| submodule: |
| recursive: true |
| |
| triggers: |
| - gerrit: |
| trigger-on: |
| - patchset-created-event: |
| exclude-drafts: true |
| exclude-no-code-change: true |
| projects: |
| - project-compare-type: 'PLAIN' |
| project-pattern: '{obj:gerrit_project}' |
| branches: |
| - branch-compare-type: 'ANT' |
| branch-pattern: '**' |
| skip-vote: |
| successful: false |
| failed: false |
| unstable: false |
| notbuilt: false |
| 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 |
| node: '{node}' |
| 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 |
| <a href="https://gerrit.osmocom.org/#/q/status:open+project:{repos}">{repos}</a> |
| <br/><br/> |
| <b>Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY!</b> |
| |
| 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 |