xref: /openbmc/qemu/.gitlab-ci.d/containers.yml (revision 744c72a8)
1.container_job_template:
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 $CI_REGISTRY -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD"
12  script:
13    - echo "TAG:$TAG"
14    - echo "COMMON_TAG:$COMMON_TAG"
15    - ./tests/docker/docker.py --engine docker build
16          -t "qemu/$NAME" -f "tests/docker/dockerfiles/$NAME.docker"
17          -r $CI_REGISTRY/qemu-project/qemu
18    - docker tag "qemu/$NAME" "$TAG"
19    - docker push "$TAG"
20  after_script:
21    - docker logout
22
23amd64-alpine-container:
24  extends: .container_job_template
25  variables:
26    NAME: alpine
27
28amd64-centos7-container:
29  extends: .container_job_template
30  variables:
31    NAME: centos7
32
33amd64-centos8-container:
34  extends: .container_job_template
35  variables:
36    NAME: centos8
37
38amd64-debian10-container:
39  extends: .container_job_template
40  variables:
41    NAME: debian10
42
43amd64-debian11-container:
44  extends: .container_job_template
45  variables:
46    NAME: debian11
47
48alpha-debian-cross-container:
49  extends: .container_job_template
50  stage: containers-layer2
51  needs: ['amd64-debian10-container']
52  variables:
53    NAME: debian-alpha-cross
54
55amd64-debian-cross-container:
56  extends: .container_job_template
57  stage: containers-layer2
58  needs: ['amd64-debian10-container']
59  variables:
60    NAME: debian-amd64-cross
61
62amd64-debian-user-cross-container:
63  extends: .container_job_template
64  stage: containers-layer2
65  needs: ['amd64-debian10-container']
66  variables:
67    NAME: debian-all-test-cross
68
69amd64-debian-container:
70  extends: .container_job_template
71  stage: containers-layer2
72  needs: ['amd64-debian10-container']
73  variables:
74    NAME: debian-amd64
75
76arm64-debian-cross-container:
77  extends: .container_job_template
78  stage: containers-layer2
79  needs: ['amd64-debian10-container']
80  variables:
81    NAME: debian-arm64-cross
82
83arm64-test-debian-cross-container:
84  extends: .container_job_template
85  stage: containers-layer2
86  needs: ['amd64-debian11-container']
87  variables:
88    NAME: debian-arm64-test-cross
89
90armel-debian-cross-container:
91  extends: .container_job_template
92  stage: containers-layer2
93  needs: ['amd64-debian10-container']
94  variables:
95    NAME: debian-armel-cross
96
97armhf-debian-cross-container:
98  extends: .container_job_template
99  stage: containers-layer2
100  needs: ['amd64-debian10-container']
101  variables:
102    NAME: debian-armhf-cross
103
104# We never want to build hexagon in the CI system and by default we
105# always want to refer to the master registry where it lives.
106hexagon-cross-container:
107  image: docker:stable
108  stage: containers
109  rules:
110    - if: '$CI_PROJECT_NAMESPACE == "qemu-project"'
111      when: never
112    - when: always
113  variables:
114    NAME: debian-hexagon-cross
115    GIT_DEPTH: 1
116  services:
117    - docker:dind
118  before_script:
119    - export TAG="$CI_REGISTRY_IMAGE/qemu/$NAME:latest"
120    - export COMMON_TAG="$CI_REGISTRY/qemu-project/qemu/qemu/$NAME:latest"
121    - docker info
122    - docker login $CI_REGISTRY -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD"
123  script:
124    - echo "TAG:$TAG"
125    - echo "COMMON_TAG:$COMMON_TAG"
126    - docker pull $COMMON_TAG
127    - docker tag $COMMON_TAG $TAG
128    - docker push "$TAG"
129  after_script:
130    - docker logout
131
132hppa-debian-cross-container:
133  extends: .container_job_template
134  stage: containers-layer2
135  needs: ['amd64-debian10-container']
136  variables:
137    NAME: debian-hppa-cross
138
139m68k-debian-cross-container:
140  extends: .container_job_template
141  stage: containers-layer2
142  needs: ['amd64-debian10-container']
143  variables:
144    NAME: debian-m68k-cross
145
146mips64-debian-cross-container:
147  extends: .container_job_template
148  stage: containers-layer2
149  needs: ['amd64-debian10-container']
150  variables:
151    NAME: debian-mips64-cross
152
153mips64el-debian-cross-container:
154  extends: .container_job_template
155  stage: containers-layer2
156  needs: ['amd64-debian10-container']
157  variables:
158    NAME: debian-mips64el-cross
159
160mips-debian-cross-container:
161  extends: .container_job_template
162  stage: containers-layer2
163  needs: ['amd64-debian10-container']
164  variables:
165    NAME: debian-mips-cross
166
167mipsel-debian-cross-container:
168  extends: .container_job_template
169  stage: containers-layer2
170  needs: ['amd64-debian10-container']
171  variables:
172    NAME: debian-mipsel-cross
173
174powerpc-test-cross-container:
175  extends: .container_job_template
176  stage: containers-layer2
177  needs: ['amd64-debian11-container']
178  variables:
179    NAME: debian-powerpc-test-cross
180
181ppc64el-debian-cross-container:
182  extends: .container_job_template
183  stage: containers-layer2
184  needs: ['amd64-debian10-container']
185  variables:
186    NAME: debian-ppc64el-cross
187
188riscv64-debian-cross-container:
189  extends: .container_job_template
190  stage: containers-layer2
191  needs: ['amd64-debian10-container']
192  variables:
193    NAME: debian-riscv64-cross
194
195s390x-debian-cross-container:
196  extends: .container_job_template
197  stage: containers-layer2
198  needs: ['amd64-debian10-container']
199  variables:
200    NAME: debian-s390x-cross
201
202sh4-debian-cross-container:
203  extends: .container_job_template
204  stage: containers-layer2
205  needs: ['amd64-debian10-container']
206  variables:
207    NAME: debian-sh4-cross
208
209sparc64-debian-cross-container:
210  extends: .container_job_template
211  stage: containers-layer2
212  needs: ['amd64-debian10-container']
213  variables:
214    NAME: debian-sparc64-cross
215
216tricore-debian-cross-container:
217  extends: .container_job_template
218  stage: containers-layer2
219  needs: ['amd64-debian10-container']
220  variables:
221    NAME: debian-tricore-cross
222
223xtensa-debian-cross-container:
224  extends: .container_job_template
225  variables:
226    NAME: debian-xtensa-cross
227
228cris-fedora-cross-container:
229  extends: .container_job_template
230  variables:
231    NAME: fedora-cris-cross
232
233amd64-fedora-container:
234  extends: .container_job_template
235  variables:
236    NAME: fedora
237
238i386-fedora-cross-container:
239  extends: .container_job_template
240  variables:
241    NAME: fedora-i386-cross
242
243win32-fedora-cross-container:
244  extends: .container_job_template
245  variables:
246    NAME: fedora-win32-cross
247
248win64-fedora-cross-container:
249  extends: .container_job_template
250  variables:
251    NAME: fedora-win64-cross
252
253amd64-ubuntu1804-container:
254  extends: .container_job_template
255  variables:
256    NAME: ubuntu1804
257
258amd64-ubuntu2004-container:
259  extends: .container_job_template
260  variables:
261    NAME: ubuntu2004
262
263amd64-ubuntu-container:
264  extends: .container_job_template
265  variables:
266    NAME: ubuntu
267
268amd64-opensuse-leap-container:
269  extends: .container_job_template
270  variables:
271    NAME: opensuse-leap
272