Currently the CI containers always run on the host architecture, and only wrap bitcoind
into qemu-user
when needed. This has many issues:
- The
i386
tasks can not be run on non-x86 hosts. config.guess
isn’t present when building the CI image, which is fine. But it prints a warning, see #27739#pullrequestreview-1446580353- The python tests are run on the host architecture, making it harder to find architecture specific bugs. See for example #27529 (comment)
- All modern container engines support automatic dispatch to qemu-user, so it seems redundant to re-invent the wheel.
Fix all issues by:
- removing
HOST
fromci/test/00_setup_env.sh
. - removing
QEMU_USER_CMD
andci/test/wrap-qemu.sh
. - removing
DPKG_ADD_ARCH
where possible, and pruningPACKAGES
where possible. - specifying the architecture in
CI_IMAGE_NAME_TAG
to be used by the container engine.