qdev: add "check if address free" callback for buses
[qemu/kevin.git] / .gitlab-ci.d / containers.yml
blob11d079ea5810512a4e924ad91d7b8aa4f260cc54
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 registry.gitlab.com -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"'
31 amd64-centos7-container:
32   <<: *container_job_definition
33   variables:
34     NAME: centos7
36 amd64-centos8-container:
37   <<: *container_job_definition
38   variables:
39     NAME: centos8
41 amd64-debian10-container:
42   <<: *container_job_definition
43   variables:
44     NAME: debian10
46 amd64-debian11-container:
47   <<: *container_job_definition
48   variables:
49     NAME: debian11
51 alpha-debian-cross-container:
52   <<: *container_job_definition
53   stage: containers-layer2
54   needs: ['amd64-debian10-container']
55   variables:
56     NAME: debian-alpha-cross
58 amd64-debian-cross-container:
59   <<: *container_job_definition
60   stage: containers-layer2
61   needs: ['amd64-debian10-container']
62   variables:
63     NAME: debian-amd64-cross
65 amd64-debian-user-cross-container:
66   <<: *container_job_definition
67   stage: containers-layer2
68   needs: ['amd64-debian10-container']
69   variables:
70     NAME: debian-all-test-cross
72 amd64-debian-container:
73   <<: *container_job_definition
74   stage: containers-layer2
75   needs: ['amd64-debian10-container']
76   variables:
77     NAME: debian-amd64
79 arm64-debian-cross-container:
80   <<: *container_job_definition
81   stage: containers-layer2
82   needs: ['amd64-debian10-container']
83   variables:
84     NAME: debian-arm64-cross
86 arm64-test-debian-cross-container:
87   <<: *container_job_definition
88   stage: containers-layer2
89   needs: ['amd64-debian11-container']
90   variables:
91     NAME: debian-arm64-test-cross
93 armel-debian-cross-container:
94   <<: *container_job_definition
95   stage: containers-layer2
96   needs: ['amd64-debian10-container']
97   variables:
98     NAME: debian-armel-cross
100 armhf-debian-cross-container:
101   <<: *container_job_definition
102   stage: containers-layer2
103   needs: ['amd64-debian10-container']
104   variables:
105     NAME: debian-armhf-cross
107 hppa-debian-cross-container:
108   <<: *container_job_definition
109   stage: containers-layer2
110   needs: ['amd64-debian10-container']
111   variables:
112     NAME: debian-hppa-cross
114 m68k-debian-cross-container:
115   <<: *container_job_definition
116   stage: containers-layer2
117   needs: ['amd64-debian10-container']
118   variables:
119     NAME: debian-m68k-cross
121 mips64-debian-cross-container:
122   <<: *container_job_definition
123   stage: containers-layer2
124   needs: ['amd64-debian10-container']
125   variables:
126     NAME: debian-mips64-cross
128 mips64el-debian-cross-container:
129   <<: *container_job_definition
130   stage: containers-layer2
131   needs: ['amd64-debian10-container']
132   variables:
133     NAME: debian-mips64el-cross
135 mips-debian-cross-container:
136   <<: *container_job_definition
137   stage: containers-layer2
138   needs: ['amd64-debian10-container']
139   variables:
140     NAME: debian-mips-cross
142 mipsel-debian-cross-container:
143   <<: *container_job_definition
144   stage: containers-layer2
145   needs: ['amd64-debian10-container']
146   variables:
147     NAME: debian-mipsel-cross
149 powerpc-debian-cross-container:
150   <<: *container_job_definition
151   stage: containers-layer2
152   needs: ['amd64-debian10-container']
153   variables:
154     NAME: debian-powerpc-cross
156 ppc64-debian-cross-container:
157   <<: *container_job_definition
158   stage: containers-layer2
159   needs: ['amd64-debian10-container']
160   variables:
161     NAME: debian-ppc64-cross
163 ppc64el-debian-cross-container:
164   <<: *container_job_definition
165   stage: containers-layer2
166   needs: ['amd64-debian10-container']
167   variables:
168     NAME: debian-ppc64el-cross
170 riscv64-debian-cross-container:
171   <<: *container_job_definition
172   stage: containers-layer2
173   needs: ['amd64-debian10-container']
174   variables:
175     NAME: debian-riscv64-cross
177 s390x-debian-cross-container:
178   <<: *container_job_definition
179   stage: containers-layer2
180   needs: ['amd64-debian10-container']
181   variables:
182     NAME: debian-s390x-cross
184 sh4-debian-cross-container:
185   <<: *container_job_definition
186   stage: containers-layer2
187   needs: ['amd64-debian10-container']
188   variables:
189     NAME: debian-sh4-cross
191 sparc64-debian-cross-container:
192   <<: *container_job_definition
193   stage: containers-layer2
194   needs: ['amd64-debian10-container']
195   variables:
196     NAME: debian-sparc64-cross
198 tricore-debian-cross-container:
199   <<: *container_job_definition
200   stage: containers-layer2
201   needs: ['amd64-debian10-container']
202   variables:
203     NAME: debian-tricore-cross
205 xtensa-debian-cross-container:
206   <<: *container_job_definition
207   variables:
208     NAME: debian-xtensa-cross
210 cris-fedora-cross-container:
211   <<: *container_job_definition
212   variables:
213     NAME: fedora-cris-cross
215 amd64-fedora-container:
216   <<: *container_job_definition
217   variables:
218     NAME: fedora
220 i386-fedora-cross-container:
221   <<: *container_job_definition
222   variables:
223     NAME: fedora-i386-cross
225 win32-fedora-cross-container:
226   <<: *container_job_definition
227   variables:
228     NAME: fedora-win32-cross
230 win64-fedora-cross-container:
231   <<: *container_job_definition
232   variables:
233     NAME: fedora-win64-cross
235 amd64-ubuntu1804-container:
236   <<: *container_job_definition
237   variables:
238     NAME: ubuntu1804
240 amd64-ubuntu2004-container:
241   <<: *container_job_definition
242   variables:
243     NAME: ubuntu2004
245 amd64-ubuntu-container:
246   <<: *container_job_definition
247   variables:
248     NAME: ubuntu