migration/block-dirty-bitmap: rename finish_lock to just lock
[qemu.git] / .gitlab-ci.d / containers.yml
blob8c89efeb6d4b7a37803f184ae58fd9ad420b10fc
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 amd64-debian9-container:
52   <<: *container_job_definition
53   variables:
54     NAME: debian9
56 amd64-debian9-mxe-container:
57   <<: *container_job_definition
58   stage: containers-layer2
59   needs: ['amd64-debian9-container']
60   variables:
61     NAME: debian9-mxe
63 alpha-debian-cross-container:
64   <<: *container_job_definition
65   stage: containers-layer2
66   needs: ['amd64-debian10-container']
67   variables:
68     NAME: debian-alpha-cross
70 amd64-debian-cross-container:
71   <<: *container_job_definition
72   stage: containers-layer2
73   needs: ['amd64-debian10-container']
74   variables:
75     NAME: debian-amd64-cross
77 amd64-debian-user-cross-container:
78   <<: *container_job_definition
79   stage: containers-layer2
80   needs: ['amd64-debian10-container']
81   variables:
82     NAME: debian-all-test-cross
84 amd64-debian-container:
85   <<: *container_job_definition
86   stage: containers-layer2
87   needs: ['amd64-debian10-container']
88   variables:
89     NAME: debian-amd64
91 arm64-debian-cross-container:
92   <<: *container_job_definition
93   stage: containers-layer2
94   needs: ['amd64-debian10-container']
95   variables:
96     NAME: debian-arm64-cross
98 arm64-test-debian-cross-container:
99   <<: *container_job_definition
100   stage: containers-layer2
101   needs: ['amd64-debian11-container']
102   variables:
103     NAME: debian-arm64-test-cross
105 armel-debian-cross-container:
106   <<: *container_job_definition
107   stage: containers-layer2
108   needs: ['amd64-debian10-container']
109   variables:
110     NAME: debian-armel-cross
112 armhf-debian-cross-container:
113   <<: *container_job_definition
114   stage: containers-layer2
115   needs: ['amd64-debian10-container']
116   variables:
117     NAME: debian-armhf-cross
119 hppa-debian-cross-container:
120   <<: *container_job_definition
121   stage: containers-layer2
122   needs: ['amd64-debian10-container']
123   variables:
124     NAME: debian-hppa-cross
126 m68k-debian-cross-container:
127   <<: *container_job_definition
128   stage: containers-layer2
129   needs: ['amd64-debian10-container']
130   variables:
131     NAME: debian-m68k-cross
133 mips64-debian-cross-container:
134   <<: *container_job_definition
135   stage: containers-layer2
136   needs: ['amd64-debian10-container']
137   variables:
138     NAME: debian-mips64-cross
140 mips64el-debian-cross-container:
141   <<: *container_job_definition
142   stage: containers-layer2
143   needs: ['amd64-debian10-container']
144   variables:
145     NAME: debian-mips64el-cross
147 mips-debian-cross-container:
148   <<: *container_job_definition
149   stage: containers-layer2
150   needs: ['amd64-debian10-container']
151   variables:
152     NAME: debian-mips-cross
154 mipsel-debian-cross-container:
155   <<: *container_job_definition
156   stage: containers-layer2
157   needs: ['amd64-debian10-container']
158   variables:
159     NAME: debian-mipsel-cross
161 powerpc-debian-cross-container:
162   <<: *container_job_definition
163   stage: containers-layer2
164   needs: ['amd64-debian10-container']
165   variables:
166     NAME: debian-powerpc-cross
168 ppc64-debian-cross-container:
169   <<: *container_job_definition
170   stage: containers-layer2
171   needs: ['amd64-debian10-container']
172   variables:
173     NAME: debian-ppc64-cross
175 ppc64el-debian-cross-container:
176   <<: *container_job_definition
177   stage: containers-layer2
178   needs: ['amd64-debian10-container']
179   variables:
180     NAME: debian-ppc64el-cross
182 riscv64-debian-cross-container:
183   <<: *container_job_definition
184   stage: containers-layer2
185   needs: ['amd64-debian10-container']
186   variables:
187     NAME: debian-riscv64-cross
189 s390x-debian-cross-container:
190   <<: *container_job_definition
191   stage: containers-layer2
192   needs: ['amd64-debian10-container']
193   variables:
194     NAME: debian-s390x-cross
196 sh4-debian-cross-container:
197   <<: *container_job_definition
198   stage: containers-layer2
199   needs: ['amd64-debian10-container']
200   variables:
201     NAME: debian-sh4-cross
203 sparc64-debian-cross-container:
204   <<: *container_job_definition
205   stage: containers-layer2
206   needs: ['amd64-debian10-container']
207   variables:
208     NAME: debian-sparc64-cross
210 tricore-debian-cross-container:
211   <<: *container_job_definition
212   stage: containers-layer2
213   needs: ['amd64-debian9-container']
214   variables:
215     NAME: debian-tricore-cross
217 win32-debian-cross-container:
218   <<: *container_job_definition
219   stage: containers-layer3
220   needs: ['amd64-debian9-mxe-container']
221   variables:
222     NAME: debian-win32-cross
224 win64-debian-cross-container:
225   <<: *container_job_definition
226   stage: containers-layer3
227   needs: ['amd64-debian9-mxe-container']
228   variables:
229     NAME: debian-win64-cross
231 xtensa-debian-cross-container:
232   <<: *container_job_definition
233   variables:
234     NAME: debian-xtensa-cross
236 cris-fedora-cross-container:
237   <<: *container_job_definition
238   variables:
239     NAME: fedora-cris-cross
241 amd64-fedora-container:
242   <<: *container_job_definition
243   variables:
244     NAME: fedora
246 i386-fedora-cross-container:
247   <<: *container_job_definition
248   variables:
249     NAME: fedora-i386-cross
251 amd64-ubuntu1804-container:
252   <<: *container_job_definition
253   variables:
254     NAME: ubuntu1804
256 amd64-ubuntu2004-container:
257   <<: *container_job_definition
258   variables:
259     NAME: ubuntu2004
261 amd64-ubuntu-container:
262   <<: *container_job_definition
263   variables:
264     NAME: ubuntu