From: Don Zickus <dzic...@redhat.com>

CI: ark-update-configs: sync push command and output

A rather large change that just moves everything into variables.  The
end result is the same except the push command is also echo'd before
being eval'd.  This allows the script to keep the command and output in
sync.

The script relies on the trap feature to cleanup the tempfile if
anything goes wrong.

No functional changes.

Signed-off-by: Don Zickus <dzic...@redhat.com>

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
@@ -73,42 +73,40 @@ new_head="$(git rev-parse HEAD)"
 
 if test "$CONFIGS_ADDED"; then
        ./redhat/scripts/genspec/gen_config_patches.sh
+        PUSH_VERB="Pushing"
 else
        printf "No new configuration values exposed from merging %s into 
$BRANCH\n" "$UPSTREAM_REF"
+        PUSH_VERB="To push"
 fi
 
-if test -n "$DIST_PUSH"; then
-        tmpfile=".push-warnings"
-       touch $tmpfile
-
-       echo "Pushing branch $(git branch --show-current) to $(git remote 
get-url gitlab)"
-       git push gitlab HEAD
-
-       echo "Pushing config update branches"
-       for branch in $(git branch | grep configs/"$(date +%F)"); do
-               git push \
-                       -o merge_request.create \
-                       -o merge_request.target="$BRANCH" \
-                       -o merge_request.remove_source_branch \
-                       gitlab "$branch" 2>&1 | tee -a $tmpfile
-       done
-
-       # GitLab server side warnings do not fail git-push but leave verbose
-       # WARNING messages.  Grep for those and consider it a script
-       # failure.  Make sure all branches are pushed first as follow up
-       # git-pushes may succeed.
-       grep -q "remote:[ ]* WARNINGS" $tmpfile && RC=1 || RC=0
-       rm $tmpfile
-       test $RC && exit $RC
-else
-       printf "
-To push all the release artifacts, run:
+echo
+PUSH_STR="branch ${BRANCH} to ${GITLAB_URL}"
+PUSH_CMD="git push gitlab ${BRANCH}"
+PUSH_CONFIG_STR="config update branches"
+PUSH_CONFIG_CMD="for branch in \$(git branch | grep configs/\"\$(date +%F)\"); 
do
+       git push \\
+               -o merge_request.create \\
+               -o merge_request.target=\"$BRANCH\" \\
+               -o merge_request.remove_source_branch \\
+               gitlab \"\$branch\" 2>&1 | tee -a $TMPFILE
+done
+"
 
-git push gitlab HEAD
-for branch in \$(git branch | grep configs/\"\$(date +%%F)\"); do
-\tgit push -o merge_request.create -o merge_request.target=$BRANCH\
- -o merge_request.remove_source_branch upstream gitlab \"\$branch\"
-done\n"
+#Push branch
+echo "# $PUSH_VERB $PUSH_STR"
+echo "$PUSH_CMD"
+test "$TO_PUSH" && eval "$PUSH_CMD"
 
+#Push config branches if created
+if test "$CONFIGS_ADDED"; then
+       echo
+       echo "# $PUSH_VERB $PUSH_CONFIG_STR"
+       echo "$PUSH_CONFIG_CMD"
+       test "$TO_PUSH" && eval "$PUSH_CONFIG_CMD"
 fi
 
+# GitLab server side warnings do not fail git-push but leave verbose
+# WARNING messages.  Grep for those and consider it a script
+# failure.  Make sure all branches are pushed first as follow up
+# git-pushes may succeed.
+grep -q "remote:[ ]* WARNINGS" $TMPFILE && die "Server side warnings"

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2518
_______________________________________________
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