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