]> git.proxmox.com Git - mirror_qemu.git/blame - .gitlab-ci.d/crossbuild-template.yml
Merge tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu into staging
[mirror_qemu.git] / .gitlab-ci.d / crossbuild-template.yml
CommitLineData
ecac85fe 1.cross_system_build_job:
e312d1fd 2 extends: .base_job_template
ecac85fe 3 stage: build
d4c7a565 4 image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG
2f7350cd
DB
5 cache:
6 paths:
7 - ccache
8 key: "$CI_JOB_NAME"
9 when: always
ecac85fe
PMD
10 timeout: 80m
11 script:
2f7350cd
DB
12 - export CCACHE_BASEDIR="$(pwd)"
13 - export CCACHE_DIR="$CCACHE_BASEDIR/ccache"
14 - export CCACHE_MAXSIZE="500M"
15 - export PATH="$CCACHE_WRAPPERSDIR:$PATH"
ecac85fe
PMD
16 - mkdir build
17 - cd build
2f7350cd 18 - ccache --zero-stats
eda2321d
TH
19 - ../configure --enable-werror --disable-docs --enable-fdt=system
20 --disable-user $QEMU_CONFIGURE_OPTS $EXTRA_CONFIGURE_OPTS
21 --target-list-exclude="arm-softmmu cris-softmmu
ecac85fe 22 i386-softmmu microblaze-softmmu mips-softmmu mipsel-softmmu
a6235491 23 mips64-softmmu ppc-softmmu riscv32-softmmu sh4-softmmu
a1f0f368 24 sparc-softmmu xtensa-softmmu $CROSS_SKIP_TARGETS"
ecac85fe 25 - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
8619b5dd
GH
26 - if grep -q "EXESUF=.exe" config-host.mak;
27 then make installer;
6340af7a 28 version="$(git describe --match v[0-9]* 2>/dev/null || git rev-parse --short HEAD)";
8619b5dd
GH
29 mv -v qemu-setup*.exe qemu-setup-${version}.exe;
30 fi
2f7350cd 31 - ccache --show-stats
ecac85fe
PMD
32
33# Job to cross-build specific accelerators.
34#
35# Set the $ACCEL variable to select the specific accelerator (default to
36# KVM), and set extra options (such disabling other accelerators) via the
37# $EXTRA_CONFIGURE_OPTS variable.
38.cross_accel_build_job:
e312d1fd 39 extends: .base_job_template
ecac85fe 40 stage: build
d4c7a565 41 image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG
ecac85fe 42 timeout: 30m
2f7350cd
DB
43 cache:
44 paths:
45 - ccache/
46 key: "$CI_JOB_NAME"
ecac85fe 47 script:
2f7350cd
DB
48 - export CCACHE_BASEDIR="$(pwd)"
49 - export CCACHE_DIR="$CCACHE_BASEDIR/ccache"
50 - export CCACHE_MAXSIZE="500M"
51 - export PATH="$CCACHE_WRAPPERSDIR:$PATH"
ecac85fe
PMD
52 - mkdir build
53 - cd build
190973dc 54 - ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
ecac85fe
PMD
55 --disable-tools --enable-${ACCEL:-kvm} $EXTRA_CONFIGURE_OPTS
56 - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
57
58.cross_user_build_job:
e312d1fd 59 extends: .base_job_template
ecac85fe 60 stage: build
d4c7a565 61 image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG
2f7350cd
DB
62 cache:
63 paths:
64 - ccache/
65 key: "$CI_JOB_NAME"
ecac85fe 66 script:
2f7350cd
DB
67 - export CCACHE_BASEDIR="$(pwd)"
68 - export CCACHE_DIR="$CCACHE_BASEDIR/ccache"
69 - export CCACHE_MAXSIZE="500M"
ecac85fe
PMD
70 - mkdir build
71 - cd build
190973dc 72 - ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
9864b7f8
AB
73 --disable-system --target-list-exclude="aarch64_be-linux-user
74 alpha-linux-user cris-linux-user m68k-linux-user microblazeel-linux-user
75 nios2-linux-user or1k-linux-user ppc-linux-user sparc-linux-user
76 xtensa-linux-user $CROSS_SKIP_TARGETS"
ecac85fe 77 - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
1ea5e0b0
AB
78
79# We can still run some tests on some of our cross build jobs. They can add this
80# template to their extends to save the build logs and test results
81.cross_test_artifacts:
82 artifacts:
83 name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
cef63308 84 when: always
1ea5e0b0
AB
85 expire_in: 7 days
86 paths:
87 - build/meson-logs/testlog.txt
88 reports:
89 junit: build/meson-logs/testlog.junit.xml