Hi Alex, Willian, On 3/29/21 1:02 PM, Alex Bennée wrote: > Currently our gitlab registry is x86_64 only so attempting to pull an > image from it on something else will end in tears. > > Signed-off-by: Alex Bennée <alex.ben...@linaro.org> > --- > tests/docker/Makefile.include | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include > index 7cab761bf5..9f464cb92c 100644 > --- a/tests/docker/Makefile.include > +++ b/tests/docker/Makefile.include > @@ -16,7 +16,10 @@ DOCKER_IMAGES := $(sort $(notdir $(basename $(wildcard > $(DOCKER_FILES_DIR)/*.doc > DOCKER_TARGETS := $(patsubst %,docker-image-%,$(DOCKER_IMAGES)) > # Use a global constant ccache directory to speed up repetitive builds > DOCKER_CCACHE_DIR := $$HOME/.cache/qemu-docker-ccache > -DOCKER_REGISTRY := $(if > $(REGISTRY),$(REGISTRY),registry.gitlab.com/qemu-project/qemu) > +ifeq ($(HOST_ARCH),x86_64) > +DOCKER_DEFAULT_REGISTRY := registry.gitlab.com/qemu-project/qemu > +endif > +DOCKER_REGISTRY := $(if $(REGISTRY),$(REGISTRY),$(DOCKER_DEFAULT_REGISTRY))
I remember we chatted about Docker multiarch on IRC. It doesn't look going into the right direction. IMO the problem you are having is because we push an amd64 docker image into the now multiarch namespace, so it is obviously failing on all non-amd64 hosts. I think the correct way is to remove the images stored in the multiarch namespace (they are amd64, not multiarch); and store the amd64 images under the amd64 namespace. IOW prepend amd64/ in our amd64 specific images. Then you could push a aarch64 image using the arm64v8/ prefix namespace and the buildsys machinery will work with the registry. FWIW I tested it with mips64le/ prefix on the mips64le runner. Willian, can you have a try with ppc64le/ (eventually s390x/) prefix for similar hosts? Related info: https://github.com/docker-library/official-images#architectures-other-than-amd64 https://github.com/docker-library/official-images#multiple-architectures Regards, Phil.