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