Change in osmo-ci[master]: OBS: add osmocom-next-packages.sh

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

osmith gerrit-no-reply at lists.osmocom.org
Thu May 28 10:01:24 UTC 2020


osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18442 )

Change subject: OBS: add osmocom-next-packages.sh
......................................................................

OBS: add osmocom-next-packages.sh

Fill the "next" feed with source packages generated from the "next"
branch of each Osmocom project, if it exists, with fallback to the
"master" branch. Implement as wrapper around osmocom-nightly-packages.sh,
so we don't duplicate code and don't need to add more logic to the jenkins
job.

Adjust all osmo_obs_prepare_conflict calls. Add a comment line on top of
each osmocom-*-packages.sh script stating the feed they can be used with.

Related: SYS#4887
Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce
---
M scripts/osmocom-latest-packages.sh
A scripts/osmocom-next-packages.sh
M scripts/osmocom-nightly-packages.sh
3 files changed, 45 insertions(+), 7 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  osmith: Verified



diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh
index 4d5b3f3..46d8a0f 100755
--- a/scripts/osmocom-latest-packages.sh
+++ b/scripts/osmocom-latest-packages.sh
@@ -1,4 +1,5 @@
 #!/bin/sh
+# Generate source packages and upload them to OBS, for the latest feed.
 . "$(dirname "$0")/common.sh"
 . "$(dirname "$0")/common-obs.sh"
 
@@ -24,7 +25,7 @@
   mkdir "$DEBSRCDIR"
 
   cd "$TOP"
-  osmo_obs_prepare_conflict "osmocom-latest" "osmocom-nightly"
+  osmo_obs_prepare_conflict "osmocom-latest" "osmocom-nightly" "osmocom-next"
 }
 
 get_last_tag() {
diff --git a/scripts/osmocom-next-packages.sh b/scripts/osmocom-next-packages.sh
new file mode 100755
index 0000000..aa9ab90
--- /dev/null
+++ b/scripts/osmocom-next-packages.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+# Generate source packages and upload them to OBS, for the next feed.
+. "$(dirname "$0")/common.sh"
+
+export FEED="next"
+$OSMO_CI_DIR/scripts/osmocom-nightly-packages.sh
diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh
index 40f2a6c..4a0bc80 100755
--- a/scripts/osmocom-nightly-packages.sh
+++ b/scripts/osmocom-nightly-packages.sh
@@ -1,16 +1,35 @@
 #!/bin/bash
+# Generate source packages and upload them to OBS, for the nightly or next feed.
+# Environment variables:
+# * FEED: the binary package feed to upload to, this also controls the source branch that is used:
+#   * "nightly": use "master" branch (default)
+#   * "next": use "next" branch if it exists, otherwise use "master" branch
 . "$(dirname "$0")/common.sh"
 . "$(dirname "$0")/common-obs.sh"
 
 set -e
 set -x
 
-# OBS project name
-PROJ=network:osmocom:nightly
-
 DT=$(date +%Y%m%d)
 TOP=$(pwd)/$(mktemp -d nightly-3g_XXXXXX)
 
+# Set FEED and PROJ, based on the FEED env var
+parse_feed_proj() {
+  FEED="${FEED:-nightly}"
+  case "$FEED" in
+  nightly)
+    PROJ=network:osmocom:nightly
+    ;;
+  next)
+    PROJ=network:osmocom:next
+    ;;
+  *)
+    echo "unsupported feed: $FEED"
+    exit 1
+    ;;
+  esac
+}
+
 ### OBS build
 prepare() {
   # clean up the whole space
@@ -19,7 +38,14 @@
   osc co "$PROJ"
 
   cd "$REPO"
-  osmo_obs_prepare_conflict "osmocom-nightly" "osmocom-latest"
+  case "$FEED" in
+  nightly)
+    osmo_obs_prepare_conflict "osmocom-nightly" "osmocom-latest" "osmocom-next"
+    ;;
+  next)
+    osmo_obs_prepare_conflict "osmocom-next" "osmocom-latest" "osmocom-nightly"
+    ;;
+  esac
 }
 
 get_last_tag() {
@@ -70,6 +96,10 @@
     osmo_git_clone_date "$url"
   fi
 
+  if [ "$FEED" = "next" ] && git -C "$name" show-branch remotes/origin/next >/dev/null 2>&1; then
+    git -C "$name" checkout next
+  fi
+
   cd -
 }
 
@@ -99,7 +129,7 @@
 
   if [ "$changelog" = "commit" ] ; then
     VER=$(get_commit_version)
-    osmo_obs_add_debian_dependency "./debian/control" "osmocom-nightly"
+    osmo_obs_add_debian_dependency "./debian/control" "osmocom-$FEED"
     dch -b -v "$VER" -m "Snapshot build"
     git commit -m "$VER snapshot" debian/
   fi
@@ -213,7 +243,7 @@
   osmo_obs_checkout_copy debian8 osmo-trx
   osmo_obs_checkout_copy debian10 limesuite
 
-  build osmocom-nightly
+  build osmocom-$FEED
   build limesuite no_commit --git-upstream-tree="$(get_last_tag limesuite)"
   build limesuite-debian10 no_commit --git-upstream-tree="$(get_last_tag limesuite)"
   build osmo-gsm-manuals
@@ -256,4 +286,5 @@
   post
 }
 
+parse_feed_proj
 build_osmocom

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18442
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce
Gerrit-Change-Number: 18442
Gerrit-PatchSet: 4
Gerrit-Owner: osmith <osmith at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: osmith <osmith at sysmocom.de>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200528/21041619/attachment.htm>


More information about the gerrit-log mailing list