Cirrus: Simplify artifact collection

On several occasions, fatal task failures were observed
during the upload of artifacts after a otherwise successful
testing.  Prior to this commit, most tasks were storing both
logs and binary artifacts.  Avoid possible major inconveniences
of upload failures, by only collecting binary artifacts when
necessary.

Signed-off-by: Chris Evich <cevich@redhat.com>
This commit is contained in:
Chris Evich
2020-11-04 09:33:14 -05:00
parent f37d1d2175
commit 55a1aecc74

View File

@ -189,17 +189,13 @@ build_task:
clone_script: &noop mkdir -p $CIRRUS_WORKING_DIR clone_script: &noop mkdir -p $CIRRUS_WORKING_DIR
setup_script: *setup setup_script: *setup
main_script: *main main_script: *main
always: &artifacts always: &binary_artifacts
gosrc_artifacts: gosrc_artifacts:
path: ./* # Grab everything in top-level $GOSRC path: ./* # Grab everything in top-level $GOSRC
type: application/octet-stream type: application/octet-stream
binary_artifacts: binary_artifacts:
path: ./bin/* path: ./bin/*
type: application/octet-stream type: application/octet-stream
# Required for `contrib/cirrus/logformatter` to work properly
html_artifacts:
path: ./*.html
type: text/html
# Confirm the result of building on at least one platform appears sane. # Confirm the result of building on at least one platform appears sane.
@ -228,7 +224,6 @@ validate_task:
clone_script: *noop clone_script: *noop
setup_script: *setup setup_script: *setup
main_script: *main main_script: *main
always: *artifacts
# Exercise the "libpod" API with a small set of common # Exercise the "libpod" API with a small set of common
@ -248,7 +243,6 @@ bindings_task:
clone_script: *noop # Comes from cache clone_script: *noop # Comes from cache
setup_script: *setup setup_script: *setup
main_script: *main main_script: *main
always: *artifacts
# Build the "libpod" API documentation `swagger.yaml` for eventual # Build the "libpod" API documentation `swagger.yaml` for eventual
@ -267,7 +261,7 @@ swagger_task:
clone_script: *full_clone # build-cache not available to container tasks clone_script: *full_clone # build-cache not available to container tasks
setup_script: *setup setup_script: *setup
main_script: *main main_script: *main
always: *artifacts always: *binary_artifacts
endpoint_task: endpoint_task:
@ -285,7 +279,6 @@ endpoint_task:
clone_script: *full_clone # build-cache not available to container tasks clone_script: *full_clone # build-cache not available to container tasks
setup_script: *setup setup_script: *setup
main_script: *main main_script: *main
always: *artifacts
# Check that all included go modules from other sources match # Check that all included go modules from other sources match
@ -304,7 +297,6 @@ vendor_task:
clone_script: *full_clone # build-cache not available to container tasks clone_script: *full_clone # build-cache not available to container tasks
setup_script: *setup setup_script: *setup
main_script: *main main_script: *main
always: *artifacts
# There are several other important variations of podman which # There are several other important variations of podman which
@ -335,7 +327,8 @@ alt_build_task:
ALT_NAME: 'Build varlink-binaries' ALT_NAME: 'Build varlink-binaries'
setup_script: *setup setup_script: *setup
main_script: *main main_script: *main
always: *artifacts always: *binary_artifacts
# Confirm building a statically-linked binary is successful # Confirm building a statically-linked binary is successful
static_alt_build_task: static_alt_build_task:
@ -364,7 +357,7 @@ static_alt_build_task:
fingerprint_script: cat nix/* fingerprint_script: cat nix/*
setup_script: *setup setup_script: *setup
main_script: *main main_script: *main
always: *artifacts always: *binary_artifacts
# Confirm building the remote client, natively on a Mac OS-X VM. # Confirm building the remote client, natively on a Mac OS-X VM.
@ -385,7 +378,7 @@ osx_alt_build_task:
- brew install go-md2man - brew install go-md2man
- make podman-remote-darwin - make podman-remote-darwin
- make install-podman-remote-darwin-docs - make install-podman-remote-darwin-docs
always: *artifacts always: *binary_artifacts
# This task is a stub: In the future it will be used to verify # This task is a stub: In the future it will be used to verify
@ -405,7 +398,6 @@ docker-py_test_task:
clone_script: *noop # Comes from cache clone_script: *noop # Comes from cache
setup_script: *setup setup_script: *setup
main_script: *main main_script: *main
always: *artifacts
# Does exactly what it says, execute the podman unit-tests on all primary # Does exactly what it says, execute the podman unit-tests on all primary
@ -424,7 +416,6 @@ unit_test_task:
gopath_cache: *ro_gopath_cache gopath_cache: *ro_gopath_cache
setup_script: *setup setup_script: *setup
main_script: *main main_script: *main
always: *artifacts
apiv2_test_task: apiv2_test_task:
@ -441,7 +432,10 @@ apiv2_test_task:
setup_script: *setup setup_script: *setup
main_script: *main main_script: *main
always: &logs_artifacts always: &logs_artifacts
<<: *artifacts # Required for `contrib/cirrus/logformatter` to work properly
html_artifacts:
path: ./*.html
type: text/html
package_versions_script: '$SCRIPT_BASE/logcollector.sh packages' package_versions_script: '$SCRIPT_BASE/logcollector.sh packages'
ginkgo_node_logs_script: '$SCRIPT_BASE/logcollector.sh ginkgo' ginkgo_node_logs_script: '$SCRIPT_BASE/logcollector.sh ginkgo'
df_script: '$SCRIPT_BASE/logcollector.sh df' df_script: '$SCRIPT_BASE/logcollector.sh df'
@ -515,6 +509,7 @@ container_integration_test_task:
main_script: *main main_script: *main
always: *logs_artifacts always: *logs_artifacts
# Execute most integration tests as a regular (non-root) user. # Execute most integration tests as a regular (non-root) user.
rootless_integration_test_task: rootless_integration_test_task:
name: *std_name_fmt name: *std_name_fmt
@ -584,6 +579,7 @@ rootless_system_test_task:
main_script: *main main_script: *main
always: *logs_artifacts always: *logs_artifacts
# This task is critical. It updates the "last-used by" timestamp stored # This task is critical. It updates the "last-used by" timestamp stored
# in metadata for all VM images. This mechanism functions in tandem with # in metadata for all VM images. This mechanism functions in tandem with
# an out-of-band pruning operation to remove disused VM images. # an out-of-band pruning operation to remove disused VM images.
@ -665,7 +661,8 @@ release_task:
clone_script: *noop # Comes from cache clone_script: *noop # Comes from cache
setup_script: *setup setup_script: *setup
main_script: *main main_script: *main
always: *artifacts always: *binary_artifacts
# When preparing to release a new version, this task may be manually # 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 code is in a proper state.
@ -686,4 +683,4 @@ release_test_task:
clone_script: *noop # Comes from cache clone_script: *noop # Comes from cache
setup_script: *setup setup_script: *setup
main_script: *main main_script: *main
always: *artifacts always: *binary_artifacts