summaryrefslogtreecommitdiff
path: root/contrib/cirrus/notice_branch_failure.sh
diff options
context:
space:
mode:
authorChris Evich <cevich@redhat.com>2019-07-10 10:14:00 -0400
committerChris Evich <cevich@redhat.com>2019-07-15 16:42:41 -0400
commit35c174f723da081af7cbc1016992cd6714cf6f24 (patch)
tree965f76523b474c2cecd7aa24f0051fa42b51b587 /contrib/cirrus/notice_branch_failure.sh
parent547cb4e55e9262b7127706d07291f0e45ccf4f42 (diff)
downloadpodman-35c174f723da081af7cbc1016992cd6714cf6f24.tar.gz
podman-35c174f723da081af7cbc1016992cd6714cf6f24.tar.bz2
podman-35c174f723da081af7cbc1016992cd6714cf6f24.zip
Cirrus: Abstract destination branch refs.
Various tasks and scripts behave differently depending on whether or not the build is running against a PR or on a branch, post-merge. However, a great number of them are hard-coded to the string 'master' as the destination. Since this is not always the case (there are other relevant branches), it makes sense to abstract the references with a single definition. Add a top-level `$DEST_BRANCH` variable to CI, and otherwise default to 'master' when unset. This enables running CI builds on additional branches without the overhead of updating all the static references to 'master'. Simply update `$DEST_BRANCH` at the top-level and all branch-conditional logic will function as intended. Signed-off-by: Chris Evich <cevich@redhat.com>
Diffstat (limited to 'contrib/cirrus/notice_branch_failure.sh')
-rwxr-xr-xcontrib/cirrus/notice_branch_failure.sh19
1 files changed, 19 insertions, 0 deletions
diff --git a/contrib/cirrus/notice_branch_failure.sh b/contrib/cirrus/notice_branch_failure.sh
new file mode 100755
index 000000000..423231dfd
--- /dev/null
+++ b/contrib/cirrus/notice_branch_failure.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+set -e
+
+source $(dirname $0)/lib.sh
+
+# mIRC "escape" codes are the most standard, for a non-standard client-side interpretation.
+ETX="$(echo -n -e '\x03')"
+RED="${ETX}4"
+NOR="$(echo -n -e '\x0f')"
+
+if [[ "$CIRRUS_BRANCH" = "$DEST_BRANCH" ]]
+then
+ BURL="https://cirrus-ci.com/build/$CIRRUS_BUILD_ID"
+ ircmsg "${RED}[Action Recommended]: ${NOR}Post-merge testing on ${RED}$CIRRUS_BRANCH failed${NOR} in $CIRRUS_TASK_NAME on $(OS_RELEASE_ID)-$(OS_RELEASE_VER): $BURL. Please investigate, and re-run if appropriate."
+fi
+
+# This script assumed to be executed on failure
+die 1 "Testing Failed"