xref: /openbmc/qemu/.gitlab-ci.d/crossbuilds.yml (revision 220222a0)
1.cross_system_build_job:
2  stage: build
3  image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
4  timeout: 80m
5  script:
6    - mkdir build
7    - cd build
8    - PKG_CONFIG_PATH=$PKG_CONFIG_PATH
9      ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
10        --disable-user --target-list-exclude="arm-softmmu cris-softmmu
11          i386-softmmu microblaze-softmmu mips-softmmu mipsel-softmmu
12          mips64-softmmu ppc-softmmu sh4-softmmu xtensa-softmmu"
13    - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
14
15# Job to cross-build specific accelerators.
16#
17# Set the $ACCEL variable to select the specific accelerator (default to
18# KVM), and set extra options (such disabling other accelerators) via the
19# $ACCEL_CONFIGURE_OPTS variable.
20.cross_accel_build_job:
21  stage: build
22  image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
23  timeout: 30m
24  script:
25    - mkdir build
26    - cd build
27    - PKG_CONFIG_PATH=$PKG_CONFIG_PATH
28      ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
29        --disable-tools --enable-${ACCEL:-kvm} $ACCEL_CONFIGURE_OPTS
30    - make -j$(expr $(nproc) + 1) all check-build
31
32.cross_user_build_job:
33  stage: build
34  image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
35  script:
36    - mkdir build
37    - cd build
38    - PKG_CONFIG_PATH=$PKG_CONFIG_PATH
39      ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
40        --disable-system
41    - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
42
43cross-armel-system:
44  extends: .cross_system_build_job
45  needs:
46    job: armel-debian-cross-container
47  variables:
48    IMAGE: debian-armel-cross
49
50cross-armel-user:
51  extends: .cross_user_build_job
52  needs:
53    job: armel-debian-cross-container
54  variables:
55    IMAGE: debian-armel-cross
56
57cross-armhf-system:
58  extends: .cross_system_build_job
59  needs:
60    job: armhf-debian-cross-container
61  variables:
62    IMAGE: debian-armhf-cross
63
64cross-armhf-user:
65  extends: .cross_user_build_job
66  needs:
67    job: armhf-debian-cross-container
68  variables:
69    IMAGE: debian-armhf-cross
70
71cross-arm64-system:
72  extends: .cross_system_build_job
73  needs:
74    job: arm64-debian-cross-container
75  variables:
76    IMAGE: debian-arm64-cross
77
78cross-arm64-user:
79  extends: .cross_user_build_job
80  needs:
81    job: arm64-debian-cross-container
82  variables:
83    IMAGE: debian-arm64-cross
84
85cross-i386-system:
86  extends: .cross_system_build_job
87  needs:
88    job: i386-fedora-cross-container
89  variables:
90    IMAGE: fedora-i386-cross
91    MAKE_CHECK_ARGS: check-qtest
92
93cross-i386-user:
94  extends: .cross_user_build_job
95  needs:
96    job: i386-fedora-cross-container
97  variables:
98    IMAGE: fedora-i386-cross
99    MAKE_CHECK_ARGS: check
100
101cross-mips-system:
102  extends: .cross_system_build_job
103  needs:
104    job: mips-debian-cross-container
105  variables:
106    IMAGE: debian-mips-cross
107
108cross-mips-user:
109  extends: .cross_user_build_job
110  needs:
111    job: mips-debian-cross-container
112  variables:
113    IMAGE: debian-mips-cross
114
115cross-mipsel-system:
116  extends: .cross_system_build_job
117  needs:
118    job: mipsel-debian-cross-container
119  variables:
120    IMAGE: debian-mipsel-cross
121
122cross-mipsel-user:
123  extends: .cross_user_build_job
124  needs:
125    job: mipsel-debian-cross-container
126  variables:
127    IMAGE: debian-mipsel-cross
128
129cross-mips64el-system:
130  extends: .cross_system_build_job
131  needs:
132    job: mips64el-debian-cross-container
133  variables:
134    IMAGE: debian-mips64el-cross
135
136cross-mips64el-user:
137  extends: .cross_user_build_job
138  needs:
139    job: mips64el-debian-cross-container
140  variables:
141    IMAGE: debian-mips64el-cross
142
143cross-ppc64el-system:
144  extends: .cross_system_build_job
145  needs:
146    job: ppc64el-debian-cross-container
147  variables:
148    IMAGE: debian-ppc64el-cross
149
150cross-ppc64el-user:
151  extends: .cross_user_build_job
152  needs:
153    job: ppc64el-debian-cross-container
154  variables:
155    IMAGE: debian-ppc64el-cross
156
157cross-s390x-system:
158  extends: .cross_system_build_job
159  needs:
160    job: s390x-debian-cross-container
161  variables:
162    IMAGE: debian-s390x-cross
163
164cross-s390x-user:
165  extends: .cross_user_build_job
166  needs:
167    job: s390x-debian-cross-container
168  variables:
169    IMAGE: debian-s390x-cross
170
171cross-s390x-kvm-only:
172  extends: .cross_accel_build_job
173  needs:
174    job: s390x-debian-cross-container
175  variables:
176    IMAGE: debian-s390x-cross
177    ACCEL_CONFIGURE_OPTS: --disable-tcg
178
179cross-win32-system:
180  extends: .cross_system_build_job
181  needs:
182    job: win32-fedora-cross-container
183  variables:
184    IMAGE: fedora-win32-cross
185
186cross-win64-system:
187  extends: .cross_system_build_job
188  needs:
189    job: win64-fedora-cross-container
190  variables:
191    IMAGE: fedora-win64-cross
192
193cross-amd64-xen-only:
194  extends: .cross_accel_build_job
195  needs:
196    job: amd64-debian-cross-container
197  variables:
198    IMAGE: debian-amd64-cross
199    ACCEL: xen
200    ACCEL_CONFIGURE_OPTS: --disable-tcg --disable-kvm
201
202cross-arm64-xen-only:
203  extends: .cross_accel_build_job
204  needs:
205    job: arm64-debian-cross-container
206  variables:
207    IMAGE: debian-arm64-cross
208    ACCEL: xen
209    ACCEL_CONFIGURE_OPTS: --disable-tcg --disable-kvm
210