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:
parent
040ece86e8
commit
356a7fc0cb
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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
|
||||
}
|
Loading…
Reference in New Issue