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