Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolation and security advantages of VMs. https://katacontainers.io/
Apache License 2.0
5.08k
stars
1k
forks
source link
CI: data collection steps for debugging should not fail jobs #9842
They call tests/integration/kubernetes/gha-run.sh collect-artifacts which can fail, resulting on the job being marked failed regardless the tests passed. For example:
[gha-run.sh:322] INFO: Collecting artifacts using qemu hypervisor
[gha-run.sh:331] INFO: Collecting k3s artifacts
find: ‘/var/lib/rancher/k3s/agent/containerd/io.containerd.runtime.v2.task/k8s.io/1a9158736a462862cc83cf5e2be750e691d9da38d0d1c08da05f6e251d009add’: No such file or directory
Error: Process completed with exit code 1.
Also I noticed that Collect artifacts ${{ matrix.vmm }} step doesn't run always() so it's kind of useless to collect data only when the job passes.
How can it be improved?
Fix the collecting data bugs
Turn the step as true (e.g. tests/integration/kubernetes/gha-run.sh collect-artifacts || true)
Which feature do you think can be improved?
We have CI workflows that collect and archive system's data for the sake of debugging:
../.github/workflows/run-k8s-tests-on-garm.yaml ../.github/workflows/basic-ci-amd64.yaml
They call
tests/integration/kubernetes/gha-run.sh collect-artifacts
which can fail, resulting on the job being marked failed regardless the tests passed. For example:Also I noticed that
Collect artifacts ${{ matrix.vmm }}
step doesn't runalways()
so it's kind of useless to collect data only when the job passes.How can it be improved?
tests/integration/kubernetes/gha-run.sh collect-artifacts || true
)