Cirrus: Skip most tests on tag-push

Due to various reasons, CI results (esp. testing tasks) are completely
ignored for builds triggered by a new tag-push.  Additionally, since
many of the automation scripts are in the repo., any related
failures/flakes would require code changes (therefore a new tag).

Resolve this by skipping every testing-type task for builds triggered by
tag-push.  Only retain tasks which build things intended for consumption
associated with a possible official release.

Signed-off-by: Chris Evich <cevich@redhat.com>
This commit is contained in:
Chris Evich
2021-01-06 10:41:29 -05:00
parent 3cf41c4a73
commit 201d853283
2 changed files with 29 additions and 9 deletions

View File

@ -67,6 +67,7 @@ gcp_credentials: ENCRYPTED[a28959877b2c9c36f151781b0a05407218cda646c7d047fc556e4
ext_svc_check_task:
alias: 'ext_svc_check' # int. ref. name - required for depends_on reference
name: "Ext. services" # Displayed Title - has no other significance
skip: &tags "$CIRRUS_TAG != ''" # Don't run on tags
# Default/small container image to execute tasks with
container: &smallcontainer
image: ${CTR_FQIN}
@ -90,7 +91,7 @@ ext_svc_check_task:
automation_task:
alias: 'automation'
name: "Check Automation"
skip: &branch "$CIRRUS_PR == '' || $CIRRUS_TAG != ''" # Don't run for branches
skip: &branches_and_tags "$CIRRUS_PR == '' || $CIRRUS_TAG != ''" # Don't run on branches/tags
container: *smallcontainer
env:
TEST_FLAVOR: automation
@ -107,6 +108,7 @@ automation_task:
smoke_task:
alias: 'smoke'
name: "Smoke Test"
skip: *tags
container: &bigcontainer
image: ${CTR_FQIN}
# Leave some resources for smallcontainer
@ -209,6 +211,7 @@ build_task:
validate_task:
name: "Validate $DISTRO_NV Build"
alias: validate
skip: *tags
depends_on:
- ext_svc_check
- automation
@ -237,7 +240,7 @@ bindings_task:
name: "Test Bindings"
alias: bindings
only_if: &not_docs $CIRRUS_CHANGE_TITLE !=~ '.*CI:DOCS.*'
skip: *branch
skip: *branches_and_tags
depends_on:
- build
gce_instance: *standardvm
@ -275,6 +278,7 @@ swagger_task:
vendor_task:
name: "Test Vendoring"
alias: vendor
skip: *tags
depends_on:
- build
container: *smallcontainer
@ -373,6 +377,7 @@ osx_alt_build_task:
docker-py_test_task:
name: Docker-py Compat.
alias: docker-py_test
skip: *tags
only_if: *not_docs
depends_on:
- build
@ -393,6 +398,7 @@ docker-py_test_task:
unit_test_task:
name: "Unit tests on $DISTRO_NV"
alias: unit_test
skip: *tags
only_if: *not_docs
depends_on:
- validate
@ -410,6 +416,7 @@ unit_test_task:
apiv2_test_task:
name: "APIv2 test on $DISTRO_NV"
alias: apiv2_test
skip: *tags
depends_on:
- validate
gce_instance: *standardvm
@ -437,6 +444,7 @@ apiv2_test_task:
compose_test_task:
name: "compose test on $DISTRO_NV"
alias: compose_test
skip: *tags
depends_on:
- validate
gce_instance: *standardvm
@ -458,7 +466,7 @@ local_integration_test_task: &local_integration_test_task
name: &std_name_fmt "$TEST_FLAVOR $PODBIN_NAME $DISTRO_NV $PRIV_NAME $TEST_ENVIRON"
alias: local_integration_test
only_if: *not_docs
skip: *branch
skip: *branches_and_tags
depends_on:
- unit_test
matrix: *platform_axis
@ -490,7 +498,7 @@ container_integration_test_task:
name: *std_name_fmt
alias: container_integration_test
only_if: *not_docs
skip: *branch
skip: *branches_and_tags
depends_on:
- unit_test
matrix: &fedora_vm_axis
@ -521,7 +529,7 @@ rootless_integration_test_task:
name: *std_name_fmt
alias: rootless_integration_test
only_if: *not_docs
skip: *branch
skip: *branches_and_tags
depends_on:
- unit_test
matrix: *fedora_vm_axis
@ -544,6 +552,7 @@ rootless_integration_test_task:
local_system_test_task: &local_system_test_task
name: *std_name_fmt
alias: local_system_test
skip: *tags
only_if: *not_docs
depends_on:
- local_integration_test
@ -571,6 +580,7 @@ remote_system_test_task:
rootless_system_test_task:
name: *std_name_fmt
alias: rootless_system_test
skip: *tags
only_if: *not_docs
depends_on:
- rootless_integration_test
@ -656,7 +666,7 @@ success_task:
release_task:
name: "Verify Release"
alias: release
only_if: $CIRRUS_TAG != ''
only_if: *tags
depends_on:
- success
gce_instance: *standardvm
@ -671,7 +681,9 @@ release_task:
# When preparing to release a new version, this task may be manually
# activated at the PR stage to verify the code is in a proper state.
# activated at the PR stage to verify the build is proper for a potential
# podman release.
#
# Note: This cannot use a YAML alias on 'release_task' as of this
# comment, it is incompatible with 'trigger_type: manual'
release_test_task:

View File

@ -199,8 +199,16 @@ function _run_altbuild() {
}
function _run_release() {
if bin/podman info |& grep -Eq -- '-dev'; then
die "Releases must never contain '-dev' in output of 'podman info'"
# TODO: These tests should come from code external to the podman repo.
# to allow test-changes (and re-runs) in the case of a correctible test
# flaw or flake at release tag-push time. For now, the test is here
# given it's simplicity.
msg "Checking podman release (or potential release) criteria."
info_output=$(bin/podman info 2>&1)
if grep -q -- '-dev'<<<"$info_output"; then
die "Releases must never contain '-dev' in output of 'podman info':
$info_output"
fi
}