mirror of
https://github.com/containers/podman.git
synced 2025-10-25 02:04:43 +08:00
Merge pull request #9063 from cevich/master_fix_validate
Cirrus: Fix running Validate task on branches
This commit is contained in:
@ -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"
|
||||
|
||||
|
||||
@ -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() {
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user