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