.container_job_template: &container_job_definition image: docker:stable stage: containers services: - docker:dind before_script: - export TAG="$CI_REGISTRY_IMAGE/qemu/$NAME:latest" - export COMMON_TAG="$CI_REGISTRY/qemu-project/qemu/$NAME:latest" - docker info - docker login registry.gitlab.com -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" script: - docker pull "$TAG" || docker pull "$COMMON_TAG" || true - sed -i -e "s,FROM qemu/,FROM $CI_REGISTRY_IMAGE/qemu/," tests/docker/dockerfiles/$NAME.docker - DOCKER_BUILDKIT=1 docker build --cache-from "$TAG" --cache-from "$COMMON_TAG" --tag "$TAG" --build-arg BUILDKIT_INLINE_CACHE=1 -f "tests/docker/dockerfiles/$NAME.docker" tests/docker/dockerfiles - docker push "$TAG" after_script: - docker logout amd64-centos7-container: <<: *container_job_definition variables: NAME: centos7 amd64-centos8-container: <<: *container_job_definition variables: NAME: centos8 amd64-debian10-container: <<: *container_job_definition variables: NAME: debian10 amd64-debian11-container: <<: *container_job_definition variables: NAME: debian11 amd64-debian9-container: <<: *container_job_definition variables: NAME: debian9 amd64-debian9-mxe-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian9-container'] variables: NAME: debian9-mxe alpha-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-alpha-cross amd64-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-amd64-cross amd64-debian-user-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-all-test-cross amd64-debian-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-amd64 arm64-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-arm64-cross arm64-test-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian11-container'] variables: NAME: debian-arm64-test-cross armel-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-armel-cross armhf-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-armhf-cross hppa-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-hppa-cross m68k-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-m68k-cross mips64-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-mips64-cross mips64el-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-mips64el-cross mips-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-mips-cross mipsel-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-mipsel-cross powerpc-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-powerpc-cross ppc64-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-ppc64-cross ppc64el-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-ppc64el-cross riscv64-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-riscv64-cross s390x-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-s390x-cross sh4-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-sh4-cross sparc64-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian10-container'] variables: NAME: debian-sparc64-cross tricore-debian-cross-container: <<: *container_job_definition stage: containers-layer2 needs: ['amd64-debian9-container'] variables: NAME: debian-tricore-cross win32-debian-cross-container: <<: *container_job_definition stage: containers-layer3 needs: ['amd64-debian9-mxe-container'] variables: NAME: debian-win32-cross win64-debian-cross-container: <<: *container_job_definition stage: containers-layer3 needs: ['amd64-debian9-mxe-container'] variables: NAME: debian-win64-cross xtensa-debian-cross-container: <<: *container_job_definition variables: NAME: debian-xtensa-cross cris-fedora-cross-container: <<: *container_job_definition variables: NAME: fedora-cris-cross amd64-fedora-container: <<: *container_job_definition variables: NAME: fedora i386-fedora-cross-container: <<: *container_job_definition variables: NAME: fedora-i386-cross amd64-ubuntu1804-container: <<: *container_job_definition variables: NAME: ubuntu1804 amd64-ubuntu2004-container: <<: *container_job_definition variables: NAME: ubuntu2004 amd64-ubuntu-container: <<: *container_job_definition variables: NAME: ubuntu