jobs: add Osmocom_OBS_wireshark

Add a nightly jenkins job that does the following:
* Clone Wireshark from upstream
* Merge several Osmocom branches on top
* Build a source package
* Submit it to the osmocom:wireshark OBS project

Related: OS#2537
Change-Id: Ifb49c5cb22a4de0da30a920e5450a27172b11d73
This commit is contained in:
Oliver Smith 2023-03-15 14:43:15 +01:00
parent 1ab4ce32f9
commit e7eba15315
2 changed files with 87 additions and 0 deletions

View File

@ -0,0 +1,38 @@
---
- project:
name: Osmocom_OBS
jobs:
- Osmocom_OBS_wireshark
- job:
name: 'Osmocom_OBS_wireshark'
project-type: freestyle
defaults: global
description: |
See <a href="https://osmocom.org/issues/2537">OS#2537</a>
for more information.
node: obs
parameters:
- string:
name: BRANCH
description: osmo-ci.git branch
default: 'master'
builders:
- shell: |
export PYTHONUNBUFFERED=1
./scripts/obs/update_obs_wireshark.sh osmocom:wireshark
scm:
- git:
branches:
- '$BRANCH'
url: https://gerrit.osmocom.org/osmo-ci
git-config-name: 'Jenkins Builder'
git-config-email: 'jenkins@osmocom.org'
wipe-workspace: true
triggers:
- timed: "H 05 * * *"
publishers:
- email:
notify-every-unstable-build: true
recipients: 'jenkins-notifications@lists.osmocom.org'

View File

@ -0,0 +1,49 @@
#!/bin/sh -e
DIR="$(realpath "$(dirname "$0")")"
PROJ="$1"
BRANCHES="
osmith/deb-packaging
laforge/amr-2023
laforge/doc-fixes
osmocom/qcdiag
laforge/rspro
"
prepare_git_repo() {
cd "$DIR"
if ! [ -d _cache/wireshark ]; then
mkdir -p _cache
git -C _cache clone https://gitlab.com/wireshark/wireshark.git
git -C _cache/wireshark remote add osmocom https://gitea.osmocom.org/osmocom/wireshark
fi
cd _cache/wireshark
git fetch --all
git clean -fdx
git checkout -f -B osmocom/all-in-one origin/master
for b in $BRANCHES; do
git merge --no-edit "osmocom/$b"
done
}
update_obs_project() {
cd "$DIR"
./update_obs_project.py \
--apiurl obs.osmocom.org \
--docker \
--allow-unknown-package \
--git-skip-checkout \
--git-skip-fetch \
--version-append "~osmocom" \
"$PROJ" \
wireshark
}
set -x
prepare_git_repo
if [ -n "$PROJ" ]; then
update_obs_project
fi