osmith has submitted this change. ( 
https://gerrit.osmocom.org/c/docker-playground/+/37178?usp=email )

Change subject: debian-bookworm-obs-asan: new container
......................................................................

debian-bookworm-obs-asan: new container

Copy debian-bookworm-obs-latest and configure it to use the
osmocom:nightly:asan repository. Adjust jenkins-cmmon.sh for running the
testusite against the asan repository.

Related: OS#5301
Change-Id: I4219d927d4617232584d5401debd0be04df67ea0
---
A debian-bookworm-obs-asan/Dockerfile
A debian-bookworm-obs-asan/Makefile
M jenkins-common.sh
3 files changed, 64 insertions(+), 0 deletions(-)

Approvals:
  fixeria: Looks good to me, but someone else must approve
  daniel: Looks good to me, but someone else must approve
  osmith: Looks good to me, approved
  Jenkins Builder: Verified




diff --git a/debian-bookworm-obs-asan/Dockerfile 
b/debian-bookworm-obs-asan/Dockerfile
new file mode 100644
index 0000000..4922723
--- /dev/null
+++ b/debian-bookworm-obs-asan/Dockerfile
@@ -0,0 +1,39 @@
+ARG    REGISTRY=docker.io
+ARG    UPSTREAM_DISTRO=debian:bookworm
+FROM   ${REGISTRY}/${UPSTREAM_DISTRO}
+
+# Arguments used after FROM must be specified again
+ARG    OSMOCOM_REPO_MIRROR="https://downloads.osmocom.org";
+ARG    OSMOCOM_REPO_PATH="packages/osmocom:"
+ARG    
OSMOCOM_REPO="${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly:/asan/Debian_12/"
+ARG    UID
+
+# Copy from common dir
+COPY   .common/respawn.sh /usr/local/bin/respawn.sh
+COPY   .common/Release.key /usr/share/keyrings/osmocom-nightly-asan.asc
+
+# Configure build user, disable installing man pages
+# * /usr/local: osmo-python-tests's contrib/jenkins.sh writes there
+# * man pages: without them we avoid waiting for "generating manpages"
+RUN    set -x && \
+       useradd --uid=${UID} build && \
+       mkdir /build && \
+       chown -R build:build /build /usr/local && \
+       \
+       echo "path-exclude=/usr/share/man/*" \
+               > /etc/dpkg/dpkg.cfg.d/exclude-man-pages && \
+       rm -rf /usr/share/man/
+
+# Configure Osmocom nightly asan repository, add telnet for debugging
+RUN    set -x && \
+       apt-get update && \
+       apt-get install -y --no-install-recommends \
+               ca-certificates \
+               telnet \
+               && \
+       apt-get clean && \
+       echo "deb [signed-by=/usr/share/keyrings/osmocom-nightly-asan.asc] 
$OSMOCOM_REPO ./" \
+               > /etc/apt/sources.list.d/osmocom-nightly-asan.list
+
+# Invalidate cache once the repository is updated
+ADD    $OSMOCOM_REPO/Release /tmp/Release
diff --git a/debian-bookworm-obs-asan/Makefile 
b/debian-bookworm-obs-asan/Makefile
new file mode 100644
index 0000000..cdac90c
--- /dev/null
+++ b/debian-bookworm-obs-asan/Makefile
@@ -0,0 +1,3 @@
+UPSTREAM_DISTRO=debian:bookworm
+DISTRO=debian-bookworm
+include ../make/Makefile
diff --git a/jenkins-common.sh b/jenkins-common.sh
index eae0473..1caa5dd 100644
--- a/jenkins-common.sh
+++ b/jenkins-common.sh
@@ -21,6 +21,7 @@
        osmo-*-centos7) echo "centos7-build" ;;
        osmo-*-centos8) echo "centos8-build" ;;
        osmo-*-latest) echo "debian-$DEBIAN_DEFAULT-obs-latest" ;;
+       osmo-*-asan) echo "debian-$DEBIAN_DEFAULT-obs-asan" ;;
        osmo_dia2gsup-*) echo "debian-$DEBIAN_DEFAULT-erlang" ;;
        osmo-epdg-*) echo "debian-$DEBIAN_DEFAULT-erlang" ;;
        osmo-*) echo "debian-$DEBIAN_DEFAULT-build" ;;
@@ -78,6 +79,13 @@
                # e.g. centos8-obs-2021q1 -> centos8-obs-latest
                echo "$1" | sed 's/20[0-9][0-9]q.*$/latest/'
                ;;
+       osmo-*-asan)
+               # Build Osmocom programs from the asan repository with the
+               # "-latest" docker containers (osmo-mgw-latest/Dockerfile etc.)
+               # so they are completely built from the OBS packages instead of
+               # building some of it from git (as in *-master/Dockerfile).
+               echo "$1" | sed 's/-asan/-latest/'
+               ;;
        *)
                echo "$1"
                ;;

--
To view, visit https://gerrit.osmocom.org/c/docker-playground/+/37178?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: docker-playground
Gerrit-Branch: master
Gerrit-Change-Id: I4219d927d4617232584d5401debd0be04df67ea0
Gerrit-Change-Number: 37178
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osm...@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillm...@sysmocom.de>
Gerrit-Reviewer: fixeria <vyanits...@sysmocom.de>
Gerrit-Reviewer: osmith <osm...@sysmocom.de>
Gerrit-MessageType: merged

Reply via email to