xref: /openbmc/qemu/.gitlab-ci.d/containers.yml (revision cf63177e59206afbfe7c8c904fad72bb7ebf59ae)
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"
9c8e67939SAlex 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:
13c8e67939SAlex Bennée    - echo "TAG:$TAG"
14c8e67939SAlex Bennée    - echo "COMMON_TAG:$COMMON_TAG"
15fa821f23SDaniel P. Berrangé    - docker pull "$TAG" || docker pull "$COMMON_TAG" || true
16c8e67939SAlex Bennée    - ./tests/docker/docker.py --engine docker build
17c8e67939SAlex Bennée          -t "qemu/$NAME" -f "tests/docker/dockerfiles/$NAME.docker"
18c8e67939SAlex Bennée          -r $CI_REGISTRY_IMAGE
19c8e67939SAlex 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/*
276f60a240SThomas Huth      - tests/docker/dockerfiles/*
28f2c5466cSAlex Bennée    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
29f2c5466cSAlex Bennée    - if: '$CI_COMMIT_REF_NAME == "testing/next"'
30fa821f23SDaniel P. Berrangé
31fa821f23SDaniel P. Berrangéamd64-centos7-container:
32fa821f23SDaniel P. Berrangé  <<: *container_job_definition
33fa821f23SDaniel P. Berrangé  variables:
34fa821f23SDaniel P. Berrangé    NAME: centos7
35fa821f23SDaniel P. Berrangé
36fa821f23SDaniel P. Berrangéamd64-centos8-container:
37fa821f23SDaniel P. Berrangé  <<: *container_job_definition
38fa821f23SDaniel P. Berrangé  variables:
39fa821f23SDaniel P. Berrangé    NAME: centos8
40fa821f23SDaniel P. Berrangé
41fa821f23SDaniel P. Berrangéamd64-debian10-container:
42fa821f23SDaniel P. Berrangé  <<: *container_job_definition
43fa821f23SDaniel P. Berrangé  variables:
44fa821f23SDaniel P. Berrangé    NAME: debian10
45fa821f23SDaniel P. Berrangé
46fa821f23SDaniel P. Berrangéamd64-debian11-container:
47fa821f23SDaniel P. Berrangé  <<: *container_job_definition
48fa821f23SDaniel P. Berrangé  variables:
49fa821f23SDaniel P. Berrangé    NAME: debian11
50fa821f23SDaniel P. Berrangé
51fa821f23SDaniel P. Berrangéamd64-debian9-container:
52fa821f23SDaniel P. Berrangé  <<: *container_job_definition
53fa821f23SDaniel P. Berrangé  variables:
54fa821f23SDaniel P. Berrangé    NAME: debian9
55fa821f23SDaniel P. Berrangé
56fa821f23SDaniel P. Berrangéamd64-debian9-mxe-container:
57fa821f23SDaniel P. Berrangé  <<: *container_job_definition
58fa821f23SDaniel P. Berrangé  stage: containers-layer2
59fa821f23SDaniel P. Berrangé  needs: ['amd64-debian9-container']
60fa821f23SDaniel P. Berrangé  variables:
61fa821f23SDaniel P. Berrangé    NAME: debian9-mxe
62fa821f23SDaniel P. Berrangé
63fa821f23SDaniel P. Berrangéalpha-debian-cross-container:
64fa821f23SDaniel P. Berrangé  <<: *container_job_definition
65fa821f23SDaniel P. Berrangé  stage: containers-layer2
66fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
67fa821f23SDaniel P. Berrangé  variables:
68fa821f23SDaniel P. Berrangé    NAME: debian-alpha-cross
69fa821f23SDaniel P. Berrangé
70fa821f23SDaniel P. Berrangéamd64-debian-cross-container:
71fa821f23SDaniel P. Berrangé  <<: *container_job_definition
72fa821f23SDaniel P. Berrangé  stage: containers-layer2
73fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
74fa821f23SDaniel P. Berrangé  variables:
75fa821f23SDaniel P. Berrangé    NAME: debian-amd64-cross
76fa821f23SDaniel P. Berrangé
7727ebeda0SAlex Bennéeamd64-debian-user-cross-container:
7827ebeda0SAlex Bennée  <<: *container_job_definition
7927ebeda0SAlex Bennée  stage: containers-layer2
8027ebeda0SAlex Bennée  needs: ['amd64-debian10-container']
8127ebeda0SAlex Bennée  variables:
8227ebeda0SAlex Bennée    NAME: debian-all-test-cross
8327ebeda0SAlex Bennée
84fa821f23SDaniel P. Berrangéamd64-debian-container:
85fa821f23SDaniel P. Berrangé  <<: *container_job_definition
86fa821f23SDaniel P. Berrangé  stage: containers-layer2
87fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
88fa821f23SDaniel P. Berrangé  variables:
89fa821f23SDaniel P. Berrangé    NAME: debian-amd64
90fa821f23SDaniel P. Berrangé
91fa821f23SDaniel P. Berrangéarm64-debian-cross-container:
92fa821f23SDaniel P. Berrangé  <<: *container_job_definition
93fa821f23SDaniel P. Berrangé  stage: containers-layer2
94fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
95fa821f23SDaniel P. Berrangé  variables:
96fa821f23SDaniel P. Berrangé    NAME: debian-arm64-cross
97fa821f23SDaniel P. Berrangé
98fa821f23SDaniel P. Berrangéarm64-test-debian-cross-container:
99fa821f23SDaniel P. Berrangé  <<: *container_job_definition
100fa821f23SDaniel P. Berrangé  stage: containers-layer2
101fa821f23SDaniel P. Berrangé  needs: ['amd64-debian11-container']
102fa821f23SDaniel P. Berrangé  variables:
103fa821f23SDaniel P. Berrangé    NAME: debian-arm64-test-cross
104fa821f23SDaniel P. Berrangé
105fa821f23SDaniel P. Berrangéarmel-debian-cross-container:
106fa821f23SDaniel P. Berrangé  <<: *container_job_definition
107fa821f23SDaniel P. Berrangé  stage: containers-layer2
108fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
109fa821f23SDaniel P. Berrangé  variables:
110fa821f23SDaniel P. Berrangé    NAME: debian-armel-cross
111fa821f23SDaniel P. Berrangé
112fa821f23SDaniel P. Berrangéarmhf-debian-cross-container:
113fa821f23SDaniel P. Berrangé  <<: *container_job_definition
114fa821f23SDaniel P. Berrangé  stage: containers-layer2
115fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
116fa821f23SDaniel P. Berrangé  variables:
117fa821f23SDaniel P. Berrangé    NAME: debian-armhf-cross
118fa821f23SDaniel P. Berrangé
119fa821f23SDaniel P. Berrangéhppa-debian-cross-container:
120fa821f23SDaniel P. Berrangé  <<: *container_job_definition
121fa821f23SDaniel P. Berrangé  stage: containers-layer2
122fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
123fa821f23SDaniel P. Berrangé  variables:
124fa821f23SDaniel P. Berrangé    NAME: debian-hppa-cross
125fa821f23SDaniel P. Berrangé
126fa821f23SDaniel P. Berrangém68k-debian-cross-container:
127fa821f23SDaniel P. Berrangé  <<: *container_job_definition
128fa821f23SDaniel P. Berrangé  stage: containers-layer2
129fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
130fa821f23SDaniel P. Berrangé  variables:
131fa821f23SDaniel P. Berrangé    NAME: debian-m68k-cross
132fa821f23SDaniel P. Berrangé
133fa821f23SDaniel P. Berrangémips64-debian-cross-container:
134fa821f23SDaniel P. Berrangé  <<: *container_job_definition
135fa821f23SDaniel P. Berrangé  stage: containers-layer2
136fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
137fa821f23SDaniel P. Berrangé  variables:
138fa821f23SDaniel P. Berrangé    NAME: debian-mips64-cross
139fa821f23SDaniel P. Berrangé
140fa821f23SDaniel P. Berrangémips64el-debian-cross-container:
141fa821f23SDaniel P. Berrangé  <<: *container_job_definition
142fa821f23SDaniel P. Berrangé  stage: containers-layer2
143fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
144fa821f23SDaniel P. Berrangé  variables:
145fa821f23SDaniel P. Berrangé    NAME: debian-mips64el-cross
146fa821f23SDaniel P. Berrangé
147fa821f23SDaniel P. Berrangémips-debian-cross-container:
148fa821f23SDaniel P. Berrangé  <<: *container_job_definition
149fa821f23SDaniel P. Berrangé  stage: containers-layer2
150fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
151fa821f23SDaniel P. Berrangé  variables:
152fa821f23SDaniel P. Berrangé    NAME: debian-mips-cross
153fa821f23SDaniel P. Berrangé
154fa821f23SDaniel P. Berrangémipsel-debian-cross-container:
155fa821f23SDaniel P. Berrangé  <<: *container_job_definition
156fa821f23SDaniel P. Berrangé  stage: containers-layer2
157fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
158fa821f23SDaniel P. Berrangé  variables:
159fa821f23SDaniel P. Berrangé    NAME: debian-mipsel-cross
160fa821f23SDaniel P. Berrangé
161fa821f23SDaniel P. Berrangépowerpc-debian-cross-container:
162fa821f23SDaniel P. Berrangé  <<: *container_job_definition
163fa821f23SDaniel P. Berrangé  stage: containers-layer2
164fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
165fa821f23SDaniel P. Berrangé  variables:
166fa821f23SDaniel P. Berrangé    NAME: debian-powerpc-cross
167fa821f23SDaniel P. Berrangé
168fa821f23SDaniel P. Berrangéppc64-debian-cross-container:
169fa821f23SDaniel P. Berrangé  <<: *container_job_definition
170fa821f23SDaniel P. Berrangé  stage: containers-layer2
171fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
172fa821f23SDaniel P. Berrangé  variables:
173fa821f23SDaniel P. Berrangé    NAME: debian-ppc64-cross
174fa821f23SDaniel P. Berrangé
175fa821f23SDaniel P. Berrangéppc64el-debian-cross-container:
176fa821f23SDaniel P. Berrangé  <<: *container_job_definition
177fa821f23SDaniel P. Berrangé  stage: containers-layer2
178fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
179fa821f23SDaniel P. Berrangé  variables:
180fa821f23SDaniel P. Berrangé    NAME: debian-ppc64el-cross
181fa821f23SDaniel P. Berrangé
182fa821f23SDaniel P. Berrangériscv64-debian-cross-container:
183fa821f23SDaniel P. Berrangé  <<: *container_job_definition
184fa821f23SDaniel P. Berrangé  stage: containers-layer2
185fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
186fa821f23SDaniel P. Berrangé  variables:
187fa821f23SDaniel P. Berrangé    NAME: debian-riscv64-cross
188fa821f23SDaniel P. Berrangé
189fa821f23SDaniel P. Berrangés390x-debian-cross-container:
190fa821f23SDaniel P. Berrangé  <<: *container_job_definition
191fa821f23SDaniel P. Berrangé  stage: containers-layer2
192fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
193fa821f23SDaniel P. Berrangé  variables:
194fa821f23SDaniel P. Berrangé    NAME: debian-s390x-cross
195fa821f23SDaniel P. Berrangé
196fa821f23SDaniel P. Berrangésh4-debian-cross-container:
197fa821f23SDaniel P. Berrangé  <<: *container_job_definition
198fa821f23SDaniel P. Berrangé  stage: containers-layer2
199fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
200fa821f23SDaniel P. Berrangé  variables:
201fa821f23SDaniel P. Berrangé    NAME: debian-sh4-cross
202fa821f23SDaniel P. Berrangé
203fa821f23SDaniel P. Berrangésparc64-debian-cross-container:
204fa821f23SDaniel P. Berrangé  <<: *container_job_definition
205fa821f23SDaniel P. Berrangé  stage: containers-layer2
206fa821f23SDaniel P. Berrangé  needs: ['amd64-debian10-container']
207fa821f23SDaniel P. Berrangé  variables:
208fa821f23SDaniel P. Berrangé    NAME: debian-sparc64-cross
209fa821f23SDaniel P. Berrangé
210fa821f23SDaniel P. Berrangétricore-debian-cross-container:
211fa821f23SDaniel P. Berrangé  <<: *container_job_definition
212fa821f23SDaniel P. Berrangé  stage: containers-layer2
213*cf63177eSThomas Huth  needs: ['amd64-debian10-container']
214fa821f23SDaniel P. Berrangé  variables:
215fa821f23SDaniel P. Berrangé    NAME: debian-tricore-cross
216fa821f23SDaniel P. Berrangé
217fa821f23SDaniel P. Berrangéxtensa-debian-cross-container:
218fa821f23SDaniel P. Berrangé  <<: *container_job_definition
219fa821f23SDaniel P. Berrangé  variables:
220fa821f23SDaniel P. Berrangé    NAME: debian-xtensa-cross
221fa821f23SDaniel P. Berrangé
222fa821f23SDaniel P. Berrangécris-fedora-cross-container:
223fa821f23SDaniel P. Berrangé  <<: *container_job_definition
224fa821f23SDaniel P. Berrangé  variables:
225fa821f23SDaniel P. Berrangé    NAME: fedora-cris-cross
226fa821f23SDaniel P. Berrangé
227fa821f23SDaniel P. Berrangéamd64-fedora-container:
228fa821f23SDaniel P. Berrangé  <<: *container_job_definition
229fa821f23SDaniel P. Berrangé  variables:
230fa821f23SDaniel P. Berrangé    NAME: fedora
231fa821f23SDaniel P. Berrangé
232fa821f23SDaniel P. Berrangéi386-fedora-cross-container:
233fa821f23SDaniel P. Berrangé  <<: *container_job_definition
234fa821f23SDaniel P. Berrangé  variables:
235fa821f23SDaniel P. Berrangé    NAME: fedora-i386-cross
236fa821f23SDaniel P. Berrangé
23793cc0506SThomas Huthwin32-fedora-cross-container:
23893cc0506SThomas Huth  <<: *container_job_definition
23993cc0506SThomas Huth  variables:
24093cc0506SThomas Huth    NAME: fedora-win32-cross
24193cc0506SThomas Huth
24293cc0506SThomas Huthwin64-fedora-cross-container:
24393cc0506SThomas Huth  <<: *container_job_definition
24493cc0506SThomas Huth  variables:
24593cc0506SThomas Huth    NAME: fedora-win64-cross
24693cc0506SThomas Huth
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