summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Evich <cevich@redhat.com>2021-01-06 10:41:29 -0500
committerChris Evich <cevich@redhat.com>2021-01-07 11:26:34 -0500
commit201d853283644c8d5d156a8507232cff1549a45c (patch)
treeaf06b5c459c1c07bf0f17c9a948e9e2229a2e3cb
parent3cf41c4a7349d2f2529ce94801de2de9898ae27f (diff)
downloadpodman-201d853283644c8d5d156a8507232cff1549a45c.tar.gz
podman-201d853283644c8d5d156a8507232cff1549a45c.tar.bz2
podman-201d853283644c8d5d156a8507232cff1549a45c.zip
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>
-rw-r--r--.cirrus.yml26
-rwxr-xr-xcontrib/cirrus/runner.sh12
2 files changed, 29 insertions, 9 deletions
diff --git a/.cirrus.yml b/.cirrus.yml
index 18cb889ad..b946a8e57 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -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:
diff --git a/contrib/cirrus/runner.sh b/contrib/cirrus/runner.sh
index 7f9afd1fd..d5f57205c 100755
--- a/contrib/cirrus/runner.sh
+++ b/contrib/cirrus/runner.sh
@@ -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
}