workflows: Drop i386 unit test/container

We won't add a lot of new C code any more, valgrinding Python code isn't
very useful (or architecture specific), and more and more distributions
drop i386 support. Also, we still run the unit tests during RPM package
build through packit/COPR, which cover even more architectures.

This paves the way for dropping the unit test container altogether in
favor of running the tests in the cockpit/tasks container, once we agree
on how to build a proper staging setup.

Drop tools/valgrind.supp which was only relevant for i386.

Cherry-picked from main commit 59e1df60b3.
This commit is contained in:
Martin Pitt 2024-02-12 17:37:03 +01:00 committed by Martin Pitt
parent 040ece86e8
commit 356a7fc0cb
4 changed files with 3 additions and 32 deletions

View File

@ -7,10 +7,8 @@ jobs:
strategy:
matrix:
startarg:
# avoid check-memory on i386, it has literally thousands of uninteresting/wrong errors
- { make: 'check-memory', cc: 'gcc', tag: 'latest' }
- { make: 'distcheck', cc: 'clang', tag: 'latest' }
- { make: 'distcheck', cc: 'gcc', tag: 'i386' }
# this runs static code checks, unlike distcheck
- { make: 'check', cc: 'gcc', tag: 'latest' }
fail-fast: false
@ -26,11 +24,7 @@ jobs:
run: |
changes=$(git diff --name-only origin/${{ github.event.pull_request.base.ref }}..HEAD -- containers/unit-tests/)
if [ -n "${changes}" ]; then
case '${{ matrix.startarg.tag }}' in
i386) arch=i386;;
latest) arch=amd64;;
esac
containers/unit-tests/build $arch
containers/unit-tests/build
fi
- name: Run unit-tests container

View File

@ -15,9 +15,7 @@ or root.
## Building
The `build` script will build the `cockpit/unit-tests` and
`cockpit/unit-tests:i386` containers. Call it with an architecture to only
build one variant, e.g. `build i386`.
The `build` script will build the `cockpit/unit-tests` container.
## Running tests
@ -33,7 +31,6 @@ to modify its behaviour:
- `--env CC=othercc` to set the `CC` environment variable inside the container (ie:
to build with a different compiler)
- `--image-tag` to specify a different tag to use for the `cockpit/unit-tests` image
(eg: `--image-tag=i386`)
Additionally, a testing scenario can be provided with specifying a `make` target.
Supported scenarios are:
@ -48,8 +45,6 @@ Some examples:
$ ./start --env=CC=clang --make check-memory # run the valgrind tests, compiled with clang
$ ./start --image-tag=i386 distcheck # run the distcheck tests on i386
## Debugging tests
For interactive debugging, run a shell in the container:

View File

@ -3,10 +3,4 @@ set -eu
dir=$(dirname "$0")
if [ -z "${1:-}" ] || [ "${1:-}" = amd64 ]; then
podman build --build-arg debian_arch=amd64 --build-arg personality=linux64 -t ghcr.io/cockpit-project/unit-tests ${dir}
fi
if [ -z "${1:-}" ] || [ "${1:-}" = i386 ]; then
podman build --build-arg debian_arch=i386 --build-arg personality=linux32 -t ghcr.io/cockpit-project/unit-tests:i386 ${dir}
fi
podman build --build-arg debian_arch=amd64 --build-arg personality=linux64 -t ghcr.io/cockpit-project/unit-tests ${dir}

View File

@ -1,12 +0,0 @@
# Valgrind reports this on clang/i386 due to being unable to find a variable on
# the stack, due to clang discarding the value before calling errx() (since it
# knows it won't need it anymore, due to errx() never returning).
{
stack_variable_bug_workaround
Memcheck:Leak
match-leak-kinds: definite
...
fun:cockpit_certificate_locate
fun:cockpit_certificate_find
fun:main
}