osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/29672 )
Change subject: obs: support Osmocom projects without prefix
......................................................................
obs: support Osmocom projects without prefix
Allow running build_srcpkg.py with "osmo_dia2gsup" instead of
"erlang/osmo_dia2gsup", because that's how it gets passed along from
jobs/gerrit-verifications.yml for the binary package build
verifications.
Related: OS#2385
Change-Id: I09304b219e7002495bd3fcce61bc68c34d5ffcd8
---
M scripts/obs/build_srcpkg.py
M scripts/obs/lib/__init__.py
M scripts/obs/update_obs_project.py
3 files changed, 12 insertions(+), 7 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
pespin: Looks good to me, but someone else must approve
msuraev: Looks good to me, but someone else must approve
diff --git a/scripts/obs/build_srcpkg.py b/scripts/obs/build_srcpkg.py
index 4c848b8..ad21927 100755
--- a/scripts/obs/build_srcpkg.py
+++ b/scripts/obs/build_srcpkg.py
@@ -37,7 +37,7 @@
lib.check_required_programs()
if args.package:
- lib.check_package(args.package)
+ args.package = lib.set_proper_package_name(args.package)
lib.remove_temp()
if args.meta:
diff --git a/scripts/obs/lib/__init__.py b/scripts/obs/lib/__init__.py
index 5979623..479c1c1 100644
--- a/scripts/obs/lib/__init__.py
+++ b/scripts/obs/lib/__init__.py
@@ -78,11 +78,16 @@
exit(1)
-def check_package(package):
+def set_proper_package_name(package):
if package in lib.config.projects_osmocom:
- return
+ return package
if package in lib.config.projects_other:
- return
+ return package
+
+ # Add prefix to Osmocom package if missing
+ for package_cfg in lib.config.projects_osmocom:
+ if os.path.basename(package_cfg) == package:
+ return package_cfg
print(f"ERROR: unknown package: {package}")
print("See packages_osmocom and packages_other in obs/lib/config.py")
diff --git a/scripts/obs/update_obs_project.py b/scripts/obs/update_obs_project.py
index 43748e9..86cf40a 100755
--- a/scripts/obs/update_obs_project.py
+++ b/scripts/obs/update_obs_project.py
@@ -20,13 +20,13 @@
def parse_packages(packages_arg):
+ ret = []
if packages_arg:
for package in packages_arg:
- lib.check_package(package)
- return packages_arg
+ ret += [lib.set_proper_package_name(package)]
+ return ret
# Default to all
- ret = []
ret += lib.config.projects_osmocom
ret += lib.config.projects_other
return ret
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/29672
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I09304b219e7002495bd3fcce61bc68c34d5ffcd8
Gerrit-Change-Number: 29672
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: msuraev <msuraev(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/29606 )
Change subject: obs: config: update note about testing packages
......................................................................
obs: config: update note about testing packages
Related: OS#2385
Change-Id: If6d772052ca64ef93536bf8729a72271f67fbecb
---
M scripts/obs/lib/config.py
1 file changed, 2 insertions(+), 3 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
pespin: Looks good to me, approved
diff --git a/scripts/obs/lib/config.py b/scripts/obs/lib/config.py
index d9f6bfe..4a4bf3c 100644
--- a/scripts/obs/lib/config.py
+++ b/scripts/obs/lib/config.py
@@ -39,9 +39,8 @@
# Osmocom projects: generated source packages will depend on a meta package,
# such as osmocom-nightly, osmocom-latest or osmocom-2022q1. This meta package
# prevents that packages from different feeds are mixed by accident.
-# NOTE: Before adding new projects, make sure the rpm and deb build in OBS!
-# Test it in your own namespace (home:youruser), see README for
-# instructions and/or ask osmith for help.
+# NOTE: Before adding new projects, add them to jobs/gerrit-verifications.yml
+# and ensure the rpm and deb packages build successfully in jenkins.
projects_osmocom = [
"erlang/osmo_dia2gsup",
"libasn1c",
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/29606
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: If6d772052ca64ef93536bf8729a72271f67fbecb
Gerrit-Change-Number: 29606
Gerrit-PatchSet: 5
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/29605 )
Change subject: obs/README: add overview with build_binpkg.py
......................................................................
obs/README: add overview with build_binpkg.py
Related: OS#2385
Change-Id: I1b741ad325e6541e6d59dfd50de66bee805e56fe
---
M scripts/obs/README
1 file changed, 19 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
pespin: Looks good to me, but someone else must approve
diff --git a/scripts/obs/README b/scripts/obs/README
index cd0955d..f761f1e 100644
--- a/scripts/obs/README
+++ b/scripts/obs/README
@@ -1,3 +1,22 @@
+Overview
+========
+This directory contains the following scripts, related to building Osmocom
+projects in OBS (Open Build Service) and building binary packages. Here is an
+overview of the scripts, run them with -h to get a more detailed description.
+
+* build_srcpkg.py: build one source package for an Osmocom project
+* update_obs_project.py: generate source packages and upload them to OBS
+* build_binpkg.py: build rpm/deb packages for one Osmocom project
+
+Docker
+------
+The above scripts have a -d parameter, that allows running them inside docker.
+This is how we run it in jenkins to avoid installing dependencies on the host.
+
+Note that when building binary packages, libosmocore socket tests and possibly
+others will fail unless docker has ipv6 configured:
+https://osmocom.org/issues/4700#note-3
+
Usage Example: Submitting source packages to Osmocom's OBS build server
=======================================================================
3 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/29605
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I1b741ad325e6541e6d59dfd50de66bee805e56fe
Gerrit-Change-Number: 29605
Gerrit-PatchSet: 5
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/29686 )
Change subject: obs: build_binpkg: use almalinux:8 naming
......................................................................
obs: build_binpkg: use almalinux:8 naming
Instead of using "--docker centos:8" as argument and translating it
later on in the code to use "almalinux:8" as base distribution, use
"--docker almalinux:8" as argument. It was brought up in code review
that this makes it less confusing.
Related: OS#2385
Change-Id: Id8298e8bafe065010f7bc00f1ff261aa6431ed4c
---
M scripts/obs/data/build_binpkg.Dockerfile
M scripts/obs/lib/config.py
M scripts/obs/lib/docker.py
3 files changed, 4 insertions(+), 7 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/scripts/obs/data/build_binpkg.Dockerfile b/scripts/obs/data/build_binpkg.Dockerfile
index de53478..201c7e5 100644
--- a/scripts/obs/data/build_binpkg.Dockerfile
+++ b/scripts/obs/data/build_binpkg.Dockerfile
@@ -14,6 +14,7 @@
# https://build.opensuse.org/projects/CentOS:CentOS-8/prjconf
# For debian, make sure we don't have man pages as otherwise it takes some time
# to regenerate the manuals database when installing build dependencies.
+# SYS#5818: using almalinux:8 instead of centos:8
RUN case "$DISTRO" in \
debian*) \
echo "path-exclude=/usr/share/man/*" \
@@ -29,7 +30,7 @@
&& \
apt-get clean \
;; \
- centos*) \
+ almalinux*) \
dnf -y install \
autoconf \
automake \
@@ -58,7 +59,7 @@
echo "deb https://downloads.osmocom.org/packages/osmocom:/master/Debian_11/ ./" \
> /etc/apt/sources.list.d/osmocom-master.list \
;; \
- centos:8) \
+ almalinux:8) \
{ echo "[network_osmocom_master]"; \
echo "name=Nightly packages of the Osmocom project (CentOS_8)"; \
echo "type=rpm-md"; \
diff --git a/scripts/obs/lib/config.py b/scripts/obs/lib/config.py
index 393251b..d9f6bfe 100644
--- a/scripts/obs/lib/config.py
+++ b/scripts/obs/lib/config.py
@@ -113,5 +113,5 @@
docker_distro_default = "debian:11"
docker_distro_other = [
- "centos:8",
+ "almalinux:8", # instead of centos:8 (SYS#5818)
]
diff --git a/scripts/obs/lib/docker.py b/scripts/obs/lib/docker.py
index 136aeeb..87611e3 100644
--- a/scripts/obs/lib/docker.py
+++ b/scripts/obs/lib/docker.py
@@ -19,10 +19,6 @@
if image_type.endswith("_manuals"):
return get_image_name(distro, image_type.replace("_manuals", ""))
- # CentOS 8 is EOL (SYS#5818)
- if distro == "centos:8":
- return "almalinux:8"
-
return distro
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/29686
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: Id8298e8bafe065010f7bc00f1ff261aa6431ed4c
Gerrit-Change-Number: 29686
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: msuraev <msuraev(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: merged
osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/29669 )
Change subject: jobs/gerrit-verifications: add param to skip build
......................................................................
jobs/gerrit-verifications: add param to skip build
Prepare to unify the list of projects in jobs/gerrit-verifications.yml
and jobs/gerrit-lint.yml by allowing to skip the build for some
repositories (e.g. docker-playground is linted but we don't run a
contrib/jenkins.sh there).
Change-Id: Ie6264d44120798c0ecbcaf9c63d9b95f74ae9e37
---
M jobs/gerrit-verifications.yml
1 file changed, 10 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
msuraev: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml
index 0a7ccac..26f7f64 100644
--- a/jobs/gerrit-verifications.yml
+++ b/jobs/gerrit-verifications.yml
@@ -64,6 +64,8 @@
gerrit_url: 'ssh://jenkins@gerrit.osmocom.org:29418'
repos_url: '{gerrit_url}/{repos}'
gerrit_project: '{repos}'
+ # Which jobs to run in the pipeline
+ pipeline_build: true
# in alphabetical order
repos:
@@ -307,6 +309,11 @@
- job-template:
name: 'gerrit-{repos}'
project-type: pipeline
+ parameters:
+ - bool:
+ name: PIPELINE_BUILD
+ description: Enable the build job (runs contrib/jenkins.sh)
+ default: '{obj:pipeline_build}'
dsl: |
pipeline {{
agent {{ label "osmocom-gerrit" }}
@@ -314,6 +321,9 @@
stage("Verification") {{
parallel {{
stage("Build") {{
+ when {{
+ expression {{ params.PIPELINE_BUILD }}
+ }}
steps {{
script {{
// Run the build job for this repository and keep going on failure
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/29669
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: Ie6264d44120798c0ecbcaf9c63d9b95f74ae9e37
Gerrit-Change-Number: 29669
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: msuraev <msuraev(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged