1.container_job_template: &container_job_definition 2 image: docker:stable 3 stage: containers 4 services: 5 - docker:dind 6 before_script: 7 - export TAG="$CI_REGISTRY_IMAGE/qemu/$NAME:latest" 8 - export COMMON_TAG="$CI_REGISTRY/qemu-project/qemu/$NAME:latest" 9 - docker info 10 - docker login registry.gitlab.com -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" 11 script: 12 - docker pull "$TAG" || docker pull "$COMMON_TAG" || true 13 - sed -i -e "s,FROM qemu/,FROM $CI_REGISTRY_IMAGE/qemu/," tests/docker/dockerfiles/$NAME.docker 14 - DOCKER_BUILDKIT=1 docker build --cache-from "$TAG" --cache-from "$COMMON_TAG" --tag "$TAG" 15 --build-arg BUILDKIT_INLINE_CACHE=1 16 -f "tests/docker/dockerfiles/$NAME.docker" tests/docker/dockerfiles 17 - docker push "$TAG" 18 after_script: 19 - docker logout 20 21amd64-centos7-container: 22 <<: *container_job_definition 23 variables: 24 NAME: centos7 25 26amd64-centos8-container: 27 <<: *container_job_definition 28 variables: 29 NAME: centos8 30 31amd64-debian10-container: 32 <<: *container_job_definition 33 variables: 34 NAME: debian10 35 36amd64-debian11-container: 37 <<: *container_job_definition 38 variables: 39 NAME: debian11 40 41amd64-debian9-container: 42 <<: *container_job_definition 43 variables: 44 NAME: debian9 45 46amd64-debian9-mxe-container: 47 <<: *container_job_definition 48 stage: containers-layer2 49 needs: ['amd64-debian9-container'] 50 variables: 51 NAME: debian9-mxe 52 53alpha-debian-cross-container: 54 <<: *container_job_definition 55 stage: containers-layer2 56 needs: ['amd64-debian10-container'] 57 variables: 58 NAME: debian-alpha-cross 59 60amd64-debian-cross-container: 61 <<: *container_job_definition 62 stage: containers-layer2 63 needs: ['amd64-debian10-container'] 64 variables: 65 NAME: debian-amd64-cross 66 67amd64-debian-user-cross-container: 68 <<: *container_job_definition 69 stage: containers-layer2 70 needs: ['amd64-debian10-container'] 71 variables: 72 NAME: debian-all-test-cross 73 74amd64-debian-container: 75 <<: *container_job_definition 76 stage: containers-layer2 77 needs: ['amd64-debian10-container'] 78 variables: 79 NAME: debian-amd64 80 81arm64-debian-cross-container: 82 <<: *container_job_definition 83 stage: containers-layer2 84 needs: ['amd64-debian10-container'] 85 variables: 86 NAME: debian-arm64-cross 87 88arm64-test-debian-cross-container: 89 <<: *container_job_definition 90 stage: containers-layer2 91 needs: ['amd64-debian11-container'] 92 variables: 93 NAME: debian-arm64-test-cross 94 95armel-debian-cross-container: 96 <<: *container_job_definition 97 stage: containers-layer2 98 needs: ['amd64-debian10-container'] 99 variables: 100 NAME: debian-armel-cross 101 102armhf-debian-cross-container: 103 <<: *container_job_definition 104 stage: containers-layer2 105 needs: ['amd64-debian10-container'] 106 variables: 107 NAME: debian-armhf-cross 108 109hppa-debian-cross-container: 110 <<: *container_job_definition 111 stage: containers-layer2 112 needs: ['amd64-debian10-container'] 113 variables: 114 NAME: debian-hppa-cross 115 116m68k-debian-cross-container: 117 <<: *container_job_definition 118 stage: containers-layer2 119 needs: ['amd64-debian10-container'] 120 variables: 121 NAME: debian-m68k-cross 122 123mips64-debian-cross-container: 124 <<: *container_job_definition 125 stage: containers-layer2 126 needs: ['amd64-debian10-container'] 127 variables: 128 NAME: debian-mips64-cross 129 130mips64el-debian-cross-container: 131 <<: *container_job_definition 132 stage: containers-layer2 133 needs: ['amd64-debian10-container'] 134 variables: 135 NAME: debian-mips64el-cross 136 137mips-debian-cross-container: 138 <<: *container_job_definition 139 stage: containers-layer2 140 needs: ['amd64-debian10-container'] 141 variables: 142 NAME: debian-mips-cross 143 144mipsel-debian-cross-container: 145 <<: *container_job_definition 146 stage: containers-layer2 147 needs: ['amd64-debian10-container'] 148 variables: 149 NAME: debian-mipsel-cross 150 151powerpc-debian-cross-container: 152 <<: *container_job_definition 153 stage: containers-layer2 154 needs: ['amd64-debian10-container'] 155 variables: 156 NAME: debian-powerpc-cross 157 158ppc64-debian-cross-container: 159 <<: *container_job_definition 160 stage: containers-layer2 161 needs: ['amd64-debian10-container'] 162 variables: 163 NAME: debian-ppc64-cross 164 165ppc64el-debian-cross-container: 166 <<: *container_job_definition 167 stage: containers-layer2 168 needs: ['amd64-debian10-container'] 169 variables: 170 NAME: debian-ppc64el-cross 171 172riscv64-debian-cross-container: 173 <<: *container_job_definition 174 stage: containers-layer2 175 needs: ['amd64-debian10-container'] 176 variables: 177 NAME: debian-riscv64-cross 178 179s390x-debian-cross-container: 180 <<: *container_job_definition 181 stage: containers-layer2 182 needs: ['amd64-debian10-container'] 183 variables: 184 NAME: debian-s390x-cross 185 186sh4-debian-cross-container: 187 <<: *container_job_definition 188 stage: containers-layer2 189 needs: ['amd64-debian10-container'] 190 variables: 191 NAME: debian-sh4-cross 192 193sparc64-debian-cross-container: 194 <<: *container_job_definition 195 stage: containers-layer2 196 needs: ['amd64-debian10-container'] 197 variables: 198 NAME: debian-sparc64-cross 199 200tricore-debian-cross-container: 201 <<: *container_job_definition 202 stage: containers-layer2 203 needs: ['amd64-debian9-container'] 204 variables: 205 NAME: debian-tricore-cross 206 207win32-debian-cross-container: 208 <<: *container_job_definition 209 stage: containers-layer3 210 needs: ['amd64-debian9-mxe-container'] 211 variables: 212 NAME: debian-win32-cross 213 214win64-debian-cross-container: 215 <<: *container_job_definition 216 stage: containers-layer3 217 needs: ['amd64-debian9-mxe-container'] 218 variables: 219 NAME: debian-win64-cross 220 221xtensa-debian-cross-container: 222 <<: *container_job_definition 223 variables: 224 NAME: debian-xtensa-cross 225 226cris-fedora-cross-container: 227 <<: *container_job_definition 228 variables: 229 NAME: fedora-cris-cross 230 231amd64-fedora-container: 232 <<: *container_job_definition 233 variables: 234 NAME: fedora 235 236i386-fedora-cross-container: 237 <<: *container_job_definition 238 variables: 239 NAME: fedora-i386-cross 240 241amd64-ubuntu1804-container: 242 <<: *container_job_definition 243 variables: 244 NAME: ubuntu1804 245 246amd64-ubuntu2004-container: 247 <<: *container_job_definition 248 variables: 249 NAME: ubuntu2004 250 251amd64-ubuntu-container: 252 <<: *container_job_definition 253 variables: 254 NAME: ubuntu 255