osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/37176?usp=email )
Change subject: jobs: add osmocom-obs-nightly-asan ......................................................................
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-30650d8450d... 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(-)
Approvals: Jenkins Builder: Verified daniel: Looks good to me, but someone else must approve pespin: Looks good to me, approved
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",