From: Don Zickus <dzickus(a)redhat.com>
CI: Introduce simple environment script
Simple code re-use across the ci scripts. The same variables and setup
functions are used. Update the ci scripts to source the new script.
This changes the API to ark-create-release.sh, so modify the call to the
script to accept the defaults, which mimics current behaviour.
Signed-off-by: Don Zickus <dzickus(a)redhat.com>
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index blahblah..blahblah 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -264,7 +264,7 @@ rawhide_release:
script:
- git checkout --track origin/ark-latest && git describe
- git checkout --track origin/ark-infra && git describe
- - redhat/scripts/ci/ark-create-release.sh "master"
"$CI_PROJECT_ID" || exit_code=$?
+ - redhat/scripts/ci/ark-create-release.sh || exit_code=$?
- if [ $exit_code -eq 3 ]; then echo "Tag exists, halting" && exit
0; fi;
- if [ $exit_code -ne 0 ]; then echo "Unable to create release tag"
&& exit 1; fi;
- git push gitlab os-build
diff --git a/redhat/scripts/ci/ark-ci-env.sh b/redhat/scripts/ci/ark-ci-env.sh
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/scripts/ci/ark-ci-env.sh
@@ -0,0 +1,30 @@
+#! /bin/sh
+
+die()
+{
+ echo "$1"
+ exit 1
+}
+
+ci_pre_check()
+{
+ if test -n "${TO_PUSH}" && test -z "${GITLAB_URL}"; then
+ die "Please run 'git remote add gitlab <url>' to
enable git-push."
+ fi
+ git diff-index --quiet HEAD || die "Dirty tree, please clean before
merging."
+}
+
+# Common variables for all CI scripts
+UPSTREAM_REF=${1:-"master"}
+BRANCH=${2:-"os-build"}
+PROJECT_ID=${PROJECT_ID:-"13604247"}
+TO_PUSH=${DIST_PUSH:-""}
+GITLAB_URL="$(git remote get-url gitlab 2>/dev/null)"
+
+ci_pre_check
+
+export UPSTREAM_REF
+export BRANCH
+export PROJECT_ID
+export TO_PUSH
+export GITLAB_URL
diff --git a/redhat/scripts/ci/ark-create-release.sh
b/redhat/scripts/ci/ark-create-release.sh
index blahblah..blahblah 100755
--- a/redhat/scripts/ci/ark-create-release.sh
+++ b/redhat/scripts/ci/ark-create-release.sh
@@ -7,8 +7,9 @@
set -e
-UPSTREAM_REF=${1-master}
-PROJECT_ID=${2:-13604247}
+# source common CI functions and variables
+# shellcheck source=./redhat/scripts/ci/ark-ci-env.sh
+. "$(dirname "$0")"/ark-ci-env.sh
# Detect if there's one or more prior releases for this upstream ref.
if git describe "$UPSTREAM_REF" | grep -q -c '\-g'; then
diff --git a/redhat/scripts/ci/ark-update-configs.sh
b/redhat/scripts/ci/ark-update-configs.sh
index blahblah..blahblah 100755
--- a/redhat/scripts/ci/ark-update-configs.sh
+++ b/redhat/scripts/ci/ark-update-configs.sh
@@ -18,8 +18,9 @@
set -e
-UPSTREAM_REF=${1:-master}
-test -n "$PROJECT_ID" || PROJECT_ID="${2:-13604247}"
+# source common CI functions and variables
+# shellcheck source=./redhat/scripts/ci/ark-ci-env.sh
+. "$(dirname "$0")"/ark-ci-env.sh
ISSUE_DESCRIPTION="A merge conflict has occurred and must be resolved manually.
@@ -31,8 +32,7 @@ To resolve this, do the following:
4. git push
"
-git checkout os-build
-BRANCH="$(git branch --show-current)"
+git checkout "${BRANCH}"
if ! git merge -m "Merge '$UPSTREAM_REF' into '$BRANCH'"
"$UPSTREAM_REF"; then
git merge --abort
printf "Merge conflict; halting!\n"
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2518