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