xref: /openbmc/qemu/.gitlab-ci.d/crossbuilds.yml (revision 3a2e982d)
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 $QEMU_CONFIGURE_OPTS --disable-user
10        --target-list-exclude="arm-softmmu cris-softmmu i386-softmmu
11          microblaze-softmmu mips-softmmu mipsel-softmmu mips64-softmmu
12          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 $QEMU_CONFIGURE_OPTS --disable-tools
29        --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 $QEMU_CONFIGURE_OPTS --disable-system
40    - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
41
42cross-armel-system:
43  extends: .cross_system_build_job
44  needs:
45    job: armel-debian-cross-container
46  variables:
47    IMAGE: debian-armel-cross
48
49cross-armel-user:
50  extends: .cross_user_build_job
51  needs:
52    job: armel-debian-cross-container
53  variables:
54    IMAGE: debian-armel-cross
55
56cross-armhf-system:
57  extends: .cross_system_build_job
58  needs:
59    job: armhf-debian-cross-container
60  variables:
61    IMAGE: debian-armhf-cross
62
63cross-armhf-user:
64  extends: .cross_user_build_job
65  needs:
66    job: armhf-debian-cross-container
67  variables:
68    IMAGE: debian-armhf-cross
69
70cross-arm64-system:
71  extends: .cross_system_build_job
72  needs:
73    job: arm64-debian-cross-container
74  variables:
75    IMAGE: debian-arm64-cross
76
77cross-arm64-user:
78  extends: .cross_user_build_job
79  needs:
80    job: arm64-debian-cross-container
81  variables:
82    IMAGE: debian-arm64-cross
83
84cross-i386-system:
85  extends: .cross_system_build_job
86  needs:
87    job: i386-fedora-cross-container
88  variables:
89    IMAGE: fedora-i386-cross
90    MAKE_CHECK_ARGS: check-qtest
91
92cross-i386-user:
93  extends: .cross_user_build_job
94  needs:
95    job: i386-fedora-cross-container
96  variables:
97    IMAGE: fedora-i386-cross
98    MAKE_CHECK_ARGS: check
99
100cross-mips-system:
101  extends: .cross_system_build_job
102  needs:
103    job: mips-debian-cross-container
104  variables:
105    IMAGE: debian-mips-cross
106
107cross-mips-user:
108  extends: .cross_user_build_job
109  needs:
110    job: mips-debian-cross-container
111  variables:
112    IMAGE: debian-mips-cross
113
114cross-mipsel-system:
115  extends: .cross_system_build_job
116  needs:
117    job: mipsel-debian-cross-container
118  variables:
119    IMAGE: debian-mipsel-cross
120
121cross-mipsel-user:
122  extends: .cross_user_build_job
123  needs:
124    job: mipsel-debian-cross-container
125  variables:
126    IMAGE: debian-mipsel-cross
127
128cross-mips64el-system:
129  extends: .cross_system_build_job
130  needs:
131    job: mips64el-debian-cross-container
132  variables:
133    IMAGE: debian-mips64el-cross
134
135cross-mips64el-user:
136  extends: .cross_user_build_job
137  needs:
138    job: mips64el-debian-cross-container
139  variables:
140    IMAGE: debian-mips64el-cross
141
142cross-ppc64el-system:
143  extends: .cross_system_build_job
144  needs:
145    job: ppc64el-debian-cross-container
146  variables:
147    IMAGE: debian-ppc64el-cross
148
149cross-ppc64el-user:
150  extends: .cross_user_build_job
151  needs:
152    job: ppc64el-debian-cross-container
153  variables:
154    IMAGE: debian-ppc64el-cross
155
156cross-s390x-system:
157  extends: .cross_system_build_job
158  needs:
159    job: s390x-debian-cross-container
160  variables:
161    IMAGE: debian-s390x-cross
162
163cross-s390x-user:
164  extends: .cross_user_build_job
165  needs:
166    job: s390x-debian-cross-container
167  variables:
168    IMAGE: debian-s390x-cross
169
170cross-s390x-kvm-only:
171  extends: .cross_accel_build_job
172  needs:
173    job: s390x-debian-cross-container
174  variables:
175    IMAGE: debian-s390x-cross
176    ACCEL_CONFIGURE_OPTS: --disable-tcg
177
178cross-win32-system:
179  extends: .cross_system_build_job
180  needs:
181    job: win32-fedora-cross-container
182  variables:
183    IMAGE: fedora-win32-cross
184
185cross-win64-system:
186  extends: .cross_system_build_job
187  needs:
188    job: win64-fedora-cross-container
189  variables:
190    IMAGE: fedora-win64-cross
191
192cross-amd64-xen-only:
193  extends: .cross_accel_build_job
194  needs:
195    job: amd64-debian-cross-container
196  variables:
197    IMAGE: debian-amd64-cross
198    ACCEL: xen
199    ACCEL_CONFIGURE_OPTS: --disable-tcg --disable-kvm
200
201cross-arm64-xen-only:
202  extends: .cross_accel_build_job
203  needs:
204    job: arm64-debian-cross-container
205  variables:
206    IMAGE: debian-arm64-cross
207    ACCEL: xen
208    ACCEL_CONFIGURE_OPTS: --disable-tcg --disable-kvm
209