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