osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/29604 )
Change subject: jobs/gerrit-binpkgs: new job for deb, rpm packages ......................................................................
jobs/gerrit-binpkgs: new job for deb, rpm packages
Build deb and rpm packages for each patch submitted to gerrit for the projects in the list.
Related: OS#2385 Change-Id: I7ca8869c2e9f2e7c74a360933be12b5c2b47c2fc --- A jobs/gerrit-binpkgs.yml 1 file changed, 178 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/04/29604/1
diff --git a/jobs/gerrit-binpkgs.yml b/jobs/gerrit-binpkgs.yml new file mode 100644 index 0000000..1e172d3 --- /dev/null +++ b/jobs/gerrit-binpkgs.yml @@ -0,0 +1,178 @@ +# This file holds all gerrit verifications for building deb and rpm packages. +# https://jenkins.osmocom.org/jenkins/view/Jenkins-Gerrit/. +# One can simply add a gerrit job by adding project's repository to repos list. + +- project: + name: gerrit-lint + # following default values can be overridden by each repo + disabled: false + gerrit_url: 'ssh://jenkins@gerrit.osmocom.org:29418' + repos_url: '{gerrit_url}/{repos}' + gerrit_project: '{repos}' + + # in alphabetical order + repos: + - cellmgr-ng + - libasn1c + - libgtpnl + - libosmo-abis + - libosmo-gprs + - libosmo-netif + - libosmo-pfcp + - libosmo-sccp + - libosmocore + - libsmpp34 + - libusrp + - openggsn + - osmo-bsc + - osmo-bsc-nat + - osmo-bts + - osmo-cbc + - osmo-e1d + - osmo-gbproxy + - osmo-ggsn + - osmo-gsm-manuals + - osmo-hlr + - osmo-hnbgw + - osmo-hnodeb + - osmo-iuh + - osmo-mgw + - osmo-msc + - osmo-pcap + - osmo-pcu + - osmo-python-tests + - osmo-remsim + - osmo-sgsn + - osmo-sip-connector + - osmo-smlc + - osmo-sysmon + - osmo-trx + - osmo-uecups + - osmo-upf + - osmo_dia2gsup + - simtrace2 + + jobs: + - 'gerrit-{repos}-{type}' + + type: + - 'deb' + - 'rpm' + +- job-template: + name: 'gerrit-{repos}-{type}' + project-type: freestyle + node: osmocom-gerrit-debian11 + 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: | + Test building {type} binary packages with patches submitted to gerrit for + <a href="https://gerrit.osmocom.org/#/q/status:open+project:{repos}">{repos}</a> + </br></br> + Related issue: <a href="https://osmocom.org/issues/2385">OS#2385</a> + + parameters: + - string: + name: BRANCH_CI + description: | + osmo-ci.git branch + default: 'origin/master' + + scm: + - git: + basedir: 'code-from-gerrit' + url: '{obj:repos_url}' + credentials-id: d5eda5e9-b59d-44ba-88d2-43473cb6e42d + branches: + - $GERRIT_BRANCH + refspec: $GERRIT_REFSPEC + name: + choosing-strategy: gerrit + wipe-workspace: true + skip-tag: true + submodule: + recursive: false + - git: + basedir: 'osmo-ci' + url: '{gerrit_url}/osmo-ci' + credentials-id: d5eda5e9-b59d-44ba-88d2-43473cb6e42d + branches: + - '$BRANCH_CI' + wipe-workspace: 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: false + escape-quotes: false + no-name-and-email: false + trigger-for-unreviewed-patches: true + server-name: gerrit.osmocom.org + + builders: + - shell: |- + # Skip rpm build if .spec.in file is missing + if [ "{type}" = "rpm" ] && [ -z "$(find code-from-gerrit -name '*.spec.in')" ]; then + set +x + echo + echo "No *.spec.in file found, skipping rpm build." + echo + exit 0 + fi + + # Get distro from type + case "{type}" in + deb) distro="debian:11" ;; + rpm) distro="centos:8" ;; + *) echo "invalid type '{type}'"; exit 1 ;; + esac + + # Move code from gerrit to build_srcpkg.py's git cache + cache_dir=osmo-ci/scripts/obs/_cache + mkdir -p $cache_dir + mv code-from-gerrit "$cache_dir/{repos}" + + # Set a known branch name + git -C "$cache_dir/{repos}" checkout -B "origin/gerrit" + + # Build source package + cd osmo-ci/scripts/obs/ + ./build_srcpkg.py \ + --docker \ + --feed master \ + --git-branch gerrit \ + --git-skip-fetch \ + "{repos}" + + # Build binary package + ./build_binpkg.py \ + --docker "$distro" \ + "{repos}" + wrappers: + - ansicolor: + colormap: xterm + - ssh-agent-credentials: + users: + - d5eda5e9-b59d-44ba-88d2-43473cb6e42d + +# vim: expandtab tabstop=2 shiftwidth=2