osmith submitted this change.

View Change


Approvals: Jenkins Builder: Verified daniel: Looks good to me, but someone else must approve pespin: Looks good to me, approved
jobs: add osmocom-obs-nightly-asan

Add a new job that builds source packages for osmocom:nightly:asan, and
uploads them there.

It was considered whether we should instead of building a binary
repository with asan packages in OBS, just build all packages and
libraries from source at the jenkins builders. We decided against it,
see the related discussion.

Related: https://gerrit.osmocom.org/c/docker-playground/+/28902/1#message-30650d8450d2d129b6ef3f447f65e4b866d2f801
Related: OS#5301
Change-Id: I8fb6664702f85ee057377cb374394c8f24202474
---
A jobs/osmocom-obs-nightly-asan.yml
M scripts/obs/lib/config.py
2 files changed, 82 insertions(+), 0 deletions(-)

diff --git a/jobs/osmocom-obs-nightly-asan.yml b/jobs/osmocom-obs-nightly-asan.yml
new file mode 100644
index 0000000..14ddbef
--- /dev/null
+++ b/jobs/osmocom-obs-nightly-asan.yml
@@ -0,0 +1,61 @@
+- job:
+ name: 'Osmocom_OBS_nightly_asan'
+ project-type: freestyle
+ concurrent: false
+ defaults: global
+ description: |
+ Binary repository with address sanitizer enabled
+ (<a href="https://osmocom.org/issues/5301">OS#5301</a>)
+ properties:
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 30
+ node: obs
+ parameters:
+ - string:
+ name: BRANCH
+ description: osmo-ci.git branch
+ default: 'refs/remotes/origin/master'
+ builders:
+ - shell: |
+ export PYTHONUNBUFFERED=1
+
+ # We only care about Osmocom packages that run in the TTCN-3 testsuites
+ # for the asan repository.
+ EXCLUDE_PACKAGES="
+ erlang/osmo-epdg
+ erlang/osmo_dia2gsup
+ osmo-bsc-nat
+ osmo-fl2k
+ osmo-gsm-manuals
+ python/osmo-python-tests
+ rtl-sdr
+ "
+
+ ./scripts/obs/update_obs_project.py \
+ --apiurl https://obs.osmocom.org \
+ --configure-append " --enable-sanitize" \
+ --conflict-pkgname "osmocom-nightly-asan" \
+ --conflict-version "$(date +%Y%m%d%H%M)" \
+ --disable-manuals \
+ --docker \
+ --feed "nightly" \
+ --meta \
+ --version-append "~asan" \
+ osmocom:nightly:asan \
+ ALL_OSMOCOM_PACKAGES \
+ --exclude-package $EXCLUDE_PACKAGES
+ scm:
+ - git:
+ branches:
+ - '$BRANCH'
+ url: https://gerrit.osmocom.org/osmo-ci
+ git-config-name: 'Jenkins Builder'
+ git-config-email: 'jenkins@osmocom.org'
+ triggers:
+ - timed: "H 20 * * *"
+
+ publishers:
+ - email:
+ notify-every-unstable-build: true
+ recipients: 'jenkins-notifications@lists.osmocom.org'
diff --git a/scripts/obs/lib/config.py b/scripts/obs/lib/config.py
index 82bf188..201a02f 100644
--- a/scripts/obs/lib/config.py
+++ b/scripts/obs/lib/config.py
@@ -44,6 +44,8 @@
# prevents that packages from different feeds are mixed by accident.
# NOTE: Before adding new projects, add them to jobs/gerrit-verifications.yml
# and ensure the rpm and deb packages build successfully in jenkins.
+# NOTE: Consider whether new packages should be added to EXCLUDE_PACKAGES in
+# osmocom-obs-nightly-asan.yml.
projects_osmocom = [
"erlang/osmo_dia2gsup",
"erlang/osmo-epdg",

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

Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I8fb6664702f85ee057377cb374394c8f24202474
Gerrit-Change-Number: 37176
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann@sysmocom.de>
Gerrit-Reviewer: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged