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