Hi, This is a series I've had on the back-burner for awhile. The idea is to make the docker build system fully multiarch aware. Much like the check-tcg system this involves a bunch of included Makefile fragments. It also tries to address the need to track docker dependencies in the Makefile explicitly by allowing more automatic resolution.
One area where I'd like advice is if we should bother to make the build targets backwards compatible - or is it fair to ask developers to go through the pain of retraining their brains for the more regular naming: make docker-test-build@debian10-arm64-build-qemu J=30 I've included testing/next out of completeness. Alex Bennée (11): tests/docker: move most cross compilers to buster base tests/docker: better handle symlinked libs .shippable: --disable-docs for cross-compile tests tests/docker: move all cross-compilers images into dockerfiles.cross tests/docker: move all multiarch containers into dockerfiles.multiarch tests/docker: search the tests/docker tree to inline parent dockerfile tests/docker: switch to multiarch aware container support tests/docker: add debian10-native-qemu-build tests/docker: rename the cross builds tests/docker: re-enable cross-compiling for x86_64 hosts tests/docker: enable cross-compilers for aarch64 Thomas Huth (1): gitlab-ci: Refresh the list of iotests Wainer dos Santos Moschetta (1): travis.yml: Install genisoimage package .gitlab-ci.yml | 12 +- .shippable.yml | 2 +- .travis.yml | 8 ++ tests/docker/Makefile.include | 126 +++++++----------- tests/docker/docker.py | 12 +- .../dockerfiles.aarch64/Makefile.include | 24 ++++ .../debian10-aarch64-qemu-build.docker | 1 + .../debian10-alpha-test-build.docker | 1 + .../debian10-x86_64-qemu-build.docker | 1 + .../debian9-armel-qemu-build.docker | 1 + .../debian10-alpha-build-tests.docker} | 0 .../debian10-amd64-build-qemu.docker} | 0 .../debian10-arm64-build-qemu.docker} | 0 .../debian10-armel-build-qemu.docker} | 2 +- .../debian10-armhf-build-qemu.docker} | 2 +- .../debian10-hppa-build-tests.docker} | 0 .../debian10-m68k-build-tests.docker} | 0 .../debian10-mips-build-qemu.docker} | 0 .../debian10-mips64-build-tests.docker} | 0 .../debian10-mips64el-build-qemu.docker} | 2 +- .../debian10-mipsel-build-qemu.docker} | 2 +- .../debian10-powerpc-build-tests.docker} | 0 .../debian10-ppc64-build-tests.docker} | 0 .../debian10-ppc64el-build-qemu.docker} | 2 +- .../debian10-riscv64-build-tests.docker} | 0 .../debian10-s390x-build-qemu.docker} | 2 +- .../debian10-sh4-build-tests.docker} | 0 .../debian10-sparc64-build-tests.docker} | 0 .../debian9-tricore-build-tests.docker} | 0 .../debian9-xtensa-build-tests.docker} | 0 .../fedora-cris-build-tests.docker} | 0 .../fedora-i386-build-qemu.docker} | 0 .../dockerfiles.multiarch/Makefile.include | 17 +++ .../debian10.docker | 0 .../debian9.docker | 0 .../dockerfiles.x86_64/Makefile.include | 26 ++++ .../debain10-x86_64-qemu-build.docker | 1 + .../debian10-alpha-build-tests.docker | 1 + .../debian10-amd64-build-qemu.docker | 1 + .../debian10-arm64-build-qemu.docker | 1 + .../debian10-armel-build-qemu.docker | 1 + .../debian10-armhf-build-qemu.docker | 1 + .../debian10-hppa-build-tests.docker | 1 + .../debian10-m68k-build-tests.docker | 1 + .../debian10-mips-build-qemu.docker | 1 + .../debian10-mips64-build-tests.docker | 1 + .../debian10-mips64el-build-qemu.docker | 1 + .../debian10-mipsel-build-qemu.docker | 1 + .../debian10-native-qemu-build.docker | 1 + .../debian10-powerpc-build-tests.docker | 1 + .../debian10-ppc64-build-tests.docker | 1 + .../debian10-ppc64el-build-qemu.docker | 1 + .../debian10-riscv64-build-tests.docker | 1 + .../debian10-s390x-build-qemu.docker | 1 + .../debian10-sh4-build-tests.docker | 1 + .../debian10-sparc64-build-tests.docker | 1 + .../debian9-mxe-win32-build-qemu.docker} | 0 .../debian9-mxe-win64-build-qemu.docker} | 0 .../debian9-mxe.docker | 0 .../debian9-tricore-build-tests.docker | 1 + .../debian9-xtensa-build-tests.docker | 1 + .../fedora-cris-build-tests.docker | 1 + .../fedora-i386-build-tests.docker | 1 + .../travis.docker | 0 tests/docker/dockerfiles/debian-amd64.docker | 2 +- .../debian10-native-qemu-build.docker | 15 +++ tests/tcg/configure.sh | 38 +++--- 67 files changed, 204 insertions(+), 118 deletions(-) create mode 100644 tests/docker/dockerfiles.aarch64/Makefile.include create mode 120000 tests/docker/dockerfiles.aarch64/debian10-aarch64-qemu-build.docker create mode 120000 tests/docker/dockerfiles.aarch64/debian10-alpha-test-build.docker create mode 120000 tests/docker/dockerfiles.aarch64/debian10-x86_64-qemu-build.docker create mode 120000 tests/docker/dockerfiles.aarch64/debian9-armel-qemu-build.docker rename tests/docker/{dockerfiles/debian-alpha-cross.docker => dockerfiles.cross/debian10-alpha-build-tests.docker} (100%) rename tests/docker/{dockerfiles/debian-amd64-cross.docker => dockerfiles.cross/debian10-amd64-build-qemu.docker} (100%) rename tests/docker/{dockerfiles/debian-arm64-cross.docker => dockerfiles.cross/debian10-arm64-build-qemu.docker} (100%) rename tests/docker/{dockerfiles/debian-armel-cross.docker => dockerfiles.cross/debian10-armel-build-qemu.docker} (97%) rename tests/docker/{dockerfiles/debian-armhf-cross.docker => dockerfiles.cross/debian10-armhf-build-qemu.docker} (97%) rename tests/docker/{dockerfiles/debian-hppa-cross.docker => dockerfiles.cross/debian10-hppa-build-tests.docker} (100%) rename tests/docker/{dockerfiles/debian-m68k-cross.docker => dockerfiles.cross/debian10-m68k-build-tests.docker} (100%) rename tests/docker/{dockerfiles/debian-mips-cross.docker => dockerfiles.cross/debian10-mips-build-qemu.docker} (100%) rename tests/docker/{dockerfiles/debian-mips64-cross.docker => dockerfiles.cross/debian10-mips64-build-tests.docker} (100%) rename tests/docker/{dockerfiles/debian-mips64el-cross.docker => dockerfiles.cross/debian10-mips64el-build-qemu.docker} (98%) rename tests/docker/{dockerfiles/debian-mipsel-cross.docker => dockerfiles.cross/debian10-mipsel-build-qemu.docker} (97%) rename tests/docker/{dockerfiles/debian-powerpc-cross.docker => dockerfiles.cross/debian10-powerpc-build-tests.docker} (100%) rename tests/docker/{dockerfiles/debian-ppc64-cross.docker => dockerfiles.cross/debian10-ppc64-build-tests.docker} (100%) rename tests/docker/{dockerfiles/debian-ppc64el-cross.docker => dockerfiles.cross/debian10-ppc64el-build-qemu.docker} (97%) rename tests/docker/{dockerfiles/debian-riscv64-cross.docker => dockerfiles.cross/debian10-riscv64-build-tests.docker} (100%) rename tests/docker/{dockerfiles/debian-s390x-cross.docker => dockerfiles.cross/debian10-s390x-build-qemu.docker} (98%) rename tests/docker/{dockerfiles/debian-sh4-cross.docker => dockerfiles.cross/debian10-sh4-build-tests.docker} (100%) rename tests/docker/{dockerfiles/debian-sparc64-cross.docker => dockerfiles.cross/debian10-sparc64-build-tests.docker} (100%) rename tests/docker/{dockerfiles/debian-tricore-cross.docker => dockerfiles.cross/debian9-tricore-build-tests.docker} (100%) rename tests/docker/{dockerfiles/debian-xtensa-cross.docker => dockerfiles.cross/debian9-xtensa-build-tests.docker} (100%) rename tests/docker/{dockerfiles/fedora-cris-cross.docker => dockerfiles.cross/fedora-cris-build-tests.docker} (100%) rename tests/docker/{dockerfiles/fedora-i386-cross.docker => dockerfiles.cross/fedora-i386-build-qemu.docker} (100%) create mode 100644 tests/docker/dockerfiles.multiarch/Makefile.include rename tests/docker/{dockerfiles => dockerfiles.multiarch}/debian10.docker (100%) rename tests/docker/{dockerfiles => dockerfiles.multiarch}/debian9.docker (100%) create mode 100644 tests/docker/dockerfiles.x86_64/Makefile.include create mode 120000 tests/docker/dockerfiles.x86_64/debain10-x86_64-qemu-build.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-alpha-build-tests.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-amd64-build-qemu.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-arm64-build-qemu.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-armel-build-qemu.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-armhf-build-qemu.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-hppa-build-tests.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-m68k-build-tests.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-mips-build-qemu.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-mips64-build-tests.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-mips64el-build-qemu.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-mipsel-build-qemu.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-native-qemu-build.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-powerpc-build-tests.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-ppc64-build-tests.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-ppc64el-build-qemu.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-riscv64-build-tests.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-s390x-build-qemu.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-sh4-build-tests.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian10-sparc64-build-tests.docker rename tests/docker/{dockerfiles/debian-win32-cross.docker => dockerfiles.x86_64/debian9-mxe-win32-build-qemu.docker} (100%) rename tests/docker/{dockerfiles/debian-win64-cross.docker => dockerfiles.x86_64/debian9-mxe-win64-build-qemu.docker} (100%) rename tests/docker/{dockerfiles => dockerfiles.x86_64}/debian9-mxe.docker (100%) create mode 120000 tests/docker/dockerfiles.x86_64/debian9-tricore-build-tests.docker create mode 120000 tests/docker/dockerfiles.x86_64/debian9-xtensa-build-tests.docker create mode 120000 tests/docker/dockerfiles.x86_64/fedora-cris-build-tests.docker create mode 120000 tests/docker/dockerfiles.x86_64/fedora-i386-build-tests.docker rename tests/docker/{dockerfiles => dockerfiles.x86_64}/travis.docker (100%) create mode 100644 tests/docker/dockerfiles/debian10-native-qemu-build.docker -- 2.20.1