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://[email protected]: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 https://gerrit.osmocom.org/c/osmo-ci/+/29604
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I7ca8869c2e9f2e7c74a360933be12b5c2b47c2fc
Gerrit-Change-Number: 29604
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <[email protected]>
Gerrit-MessageType: newchange

Reply via email to