From: Don Zickus <dzic...@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 <dzic...@redhat.com>

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index blahblah..blahblah 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -100,7 +100,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/2519
_______________________________________________
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to