summaryrefslogtreecommitdiff
path: root/contrib/cirrus
diff options
context:
space:
mode:
authorChris Evich <cevich@redhat.com>2020-10-05 09:56:15 -0400
committerChris Evich <cevich@redhat.com>2020-10-05 10:13:24 -0400
commit0f04cf27c50a7905a12c3d6741410ba87b3cd7b0 (patch)
tree8fcf95eb117ce71eeb32a9dccd1016e1f07710b0 /contrib/cirrus
parent2c9084e2245834094e14e9105e64b6062d70a0f1 (diff)
downloadpodman-0f04cf27c50a7905a12c3d6741410ba87b3cd7b0.tar.gz
podman-0f04cf27c50a7905a12c3d6741410ba87b3cd7b0.tar.bz2
podman-0f04cf27c50a7905a12c3d6741410ba87b3cd7b0.zip
Cirrus: Fix branch-validation failure
When validating code on a branch, determining a starting commit to check from isn't as straightforward as it would seem. Default to using the SHA from last time CI was green. If for some reason that isn't available, use an obviously wrong value to cause an intentional failure. Entirely skip this check on tag-push, since determining a starting point is incredibly difficult to do automatically. Signed-off-by: Chris Evich <cevich@redhat.com>
Diffstat (limited to 'contrib/cirrus')
-rw-r--r--contrib/cirrus/lib.sh7
-rwxr-xr-xcontrib/cirrus/runner.sh8
2 files changed, 11 insertions, 4 deletions
diff --git a/contrib/cirrus/lib.sh b/contrib/cirrus/lib.sh
index b57aee1af..23987938b 100644
--- a/contrib/cirrus/lib.sh
+++ b/contrib/cirrus/lib.sh
@@ -76,11 +76,12 @@ CIRRUS_CI="${CIRRUS_CI:-false}"
DEST_BRANCH="${DEST_BRANCH:-master}"
CONTINUOUS_INTEGRATION="${CONTINUOUS_INTEGRATION:-false}"
CIRRUS_REPO_NAME=${CIRRUS_REPO_NAME:-podman}
-CIRRUS_BASE_SHA=${CIRRUS_BASE_SHA:-unknown$(date +%s)} # difficult to reliably discover
+# N/B: CIRRUS_BASE_SHA is empty on branch and tag push.
+CIRRUS_BASE_SHA=${CIRRUS_BASE_SHA:-${CIRRUS_LAST_GREEN_CHANGE:-YOU_FOUND_A_BUG}}
CIRRUS_BUILD_ID=${CIRRUS_BUILD_ID:-$RANDOM$(date +%s)} # must be short and unique
-# Needed for linting and code validation
-EPOCH_TEST_COMMIT=${CIRRUS_BASE_SHA:-$CIRRUS_LAST_GREEN_CHANGE}
+# The starting place for linting and code validation
+EPOCH_TEST_COMMIT="$CIRRUS_BASE_SHA"
# Regex of env. vars. to explicitly pass when executing tests
# inside a container or as a rootless user
diff --git a/contrib/cirrus/runner.sh b/contrib/cirrus/runner.sh
index 82e512de9..17bb05019 100755
--- a/contrib/cirrus/runner.sh
+++ b/contrib/cirrus/runner.sh
@@ -179,7 +179,13 @@ case "$TEST_FLAVOR" in
ext_svc) $SCRIPT_BASE/ext_svc_check.sh ;;
smoke)
make gofmt
- make .gitvalidation
+ # There is little value to validating commits after tag-push
+ # and it's very difficult to automatically determine a starting commit.
+ # $CIRRUS_TAG is only non-empty when executing due to a tag-push
+ # shellcheck disable=SC2154
+ if [[ -z "$CIRRUS_TAG" ]]; then
+ make .gitvalidation
+ fi
;;
automation)
$SCRIPT_BASE/cirrus_yaml_test.py