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
setup_script: *setup
main_script: *main
always: &artifacts
always: &binary_artifacts
gosrc_artifacts:
path: ./* # Grab everything in top-level $GOSRC
type: application/octet-stream
binary_artifacts:
path: ./bin/*
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.
@ -228,7 +224,6 @@ validate_task:
clone_script: *noop
setup_script: *setup
main_script: *main
always: *artifacts
# Exercise the "libpod" API with a small set of common
@ -248,7 +243,6 @@ bindings_task:
clone_script: *noop # Comes from cache
setup_script: *setup
main_script: *main
always: *artifacts
# 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
setup_script: *setup
main_script: *main
always: *artifacts
always: *binary_artifacts
endpoint_task:
@ -285,7 +279,6 @@ endpoint_task:
clone_script: *full_clone # build-cache not available to container tasks
setup_script: *setup
main_script: *main
always: *artifacts
# 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
setup_script: *setup
main_script: *main
always: *artifacts
# There are several other important variations of podman which
@ -335,7 +327,8 @@ alt_build_task:
ALT_NAME: 'Build varlink-binaries'
setup_script: *setup
main_script: *main
always: *artifacts
always: *binary_artifacts
# Confirm building a statically-linked binary is successful
static_alt_build_task:
@ -364,7 +357,7 @@ static_alt_build_task:
fingerprint_script: cat nix/*
setup_script: *setup
main_script: *main
always: *artifacts
always: *binary_artifacts
# Confirm building the remote client, natively on a Mac OS-X VM.
@ -385,7 +378,7 @@ osx_alt_build_task:
- brew install go-md2man
- make podman-remote-darwin
- 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
@ -405,7 +398,6 @@ docker-py_test_task:
clone_script: *noop # Comes from cache
setup_script: *setup
main_script: *main
always: *artifacts
# 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
setup_script: *setup
main_script: *main
always: *artifacts
apiv2_test_task:
@ -441,7 +432,10 @@ apiv2_test_task:
setup_script: *setup
main_script: *main
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'
ginkgo_node_logs_script: '$SCRIPT_BASE/logcollector.sh ginkgo'
df_script: '$SCRIPT_BASE/logcollector.sh df'
@ -515,6 +509,7 @@ container_integration_test_task:
main_script: *main
always: *logs_artifacts
# Execute most integration tests as a regular (non-root) user.
rootless_integration_test_task:
name: *std_name_fmt
@ -584,6 +579,7 @@ rootless_system_test_task:
main_script: *main
always: *logs_artifacts
# This task is critical. It updates the "last-used by" timestamp stored
# in metadata for all VM images. This mechanism functions in tandem with
# an out-of-band pruning operation to remove disused VM images.
@ -665,7 +661,8 @@ release_task:
clone_script: *noop # Comes from cache
setup_script: *setup
main_script: *main
always: *artifacts
always: *binary_artifacts
# 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.
@ -686,4 +683,4 @@ release_test_task:
clone_script: *noop # Comes from cache
setup_script: *setup
main_script: *main
always: *artifacts
always: *binary_artifacts