Merge pull request #9063 from cevich/master_fix_validate

Cirrus: Fix running Validate task on branches
This commit is contained in:
OpenShift Merge Robot
2021-01-30 06:26:58 -05:00
committed by GitHub
5 changed files with 54 additions and 70 deletions

View File

@ -80,10 +80,19 @@ CIRRUS_CI="${CIRRUS_CI:-false}"
DEST_BRANCH="${DEST_BRANCH:-master}"
CONTINUOUS_INTEGRATION="${CONTINUOUS_INTEGRATION:-false}"
CIRRUS_REPO_NAME=${CIRRUS_REPO_NAME:-podman}
# 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
# Cirrus only sets $CIRRUS_BASE_SHA properly for PRs, but $EPOCH_TEST_COMMIT
# needs to be set from this value in order for `make validate` to run properly.
# When running get_ci_vm.sh, most $CIRRUS_xyz variables are empty. Attempt
# to accomidate both branch and get_ci_vm.sh testing by discovering the base
# branch SHA value.
# shellcheck disable=SC2154
if [[ -z "$CIRRUS_BASE_SHA" ]] && [[ -z "$CIRRUS_TAG" ]]
then # Operating on a branch, or under `get_ci_vm.sh`
CIRRUS_BASE_SHA=$(git rev-parse ${UPSTREAM_REMOTE:-origin}/$DEST_BRANCH)
elif [[ -z "$CIRRUS_BASE_SHA" ]]
then # Operating on a tag
CIRRUS_BASE_SHA=$(git rev-parse HEAD)
fi
# The starting place for linting and code validation
EPOCH_TEST_COMMIT="$CIRRUS_BASE_SHA"

View File

@ -23,22 +23,6 @@ function _run_ext_svc() {
$SCRIPT_BASE/ext_svc_check.sh
}
function _run_smoke() {
make gofmt
# 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
# If PR consists of multiple commits, test that each compiles cleanly
make .gitvalidation
# PRs should include some way to test.
$SCRIPT_BASE/pr-should-include-tests
fi
}
function _run_automation() {
$SCRIPT_BASE/cirrus_yaml_test.py
@ -51,11 +35,14 @@ function _run_automation() {
}
function _run_validate() {
# Confirm compile via prior task + cache
bin/podman --version
bin/podman-remote --version
# git-validation tool fails if $EPOCH_TEST_COMMIT is empty
# shellcheck disable=SC2154
if [[ -n "$EPOCH_TEST_COMMIT" ]]; then
make validate
else
warn "Skipping git-validation since \$EPOCH_TEST_COMMIT is empty"
fi
make validate # Some items require a build
}
function _run_unit() {

View File

@ -181,7 +181,6 @@ esac
# shellcheck disable=SC2154
case "$TEST_FLAVOR" in
ext_svc) ;;
smoke) ;&
validate)
# For some reason, this is also needed for validation
make .install.pre-commit