osmith has uploaded this change for review.

View Change

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

To view, visit change 29604. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I7ca8869c2e9f2e7c74a360933be12b5c2b47c2fc
Gerrit-Change-Number: 29604
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith@sysmocom.de>
Gerrit-MessageType: newchange