| .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" |
| - apk add python3 |
| - docker info |
| - docker login $CI_REGISTRY -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" |
| script: |
| - echo "TAG:$TAG" |
| - echo "COMMON_TAG:$COMMON_TAG" |
| - docker pull "$TAG" || docker pull "$COMMON_TAG" || true |
| - ./tests/docker/docker.py --engine docker build |
| -t "qemu/$NAME" -f "tests/docker/dockerfiles/$NAME.docker" |
| -r $CI_REGISTRY_IMAGE |
| - docker tag "qemu/$NAME" "$TAG" |
| - docker push "$TAG" |
| after_script: |
| - docker logout |
| rules: |
| - changes: |
| - .gitlab-ci.d/containers.yml |
| - tests/docker/* |
| - tests/docker/dockerfiles/* |
| - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' |
| - if: '$CI_COMMIT_REF_NAME == "testing/next"' |
| |
| 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 |
| |
| 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-debian10-container'] |
| variables: |
| NAME: debian-tricore-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 |
| |
| win32-fedora-cross-container: |
| <<: *container_job_definition |
| variables: |
| NAME: fedora-win32-cross |
| |
| win64-fedora-cross-container: |
| <<: *container_job_definition |
| variables: |
| NAME: fedora-win64-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 |