tests/avocado: Add powernv machine test script
[qemu/kevin.git] / .gitlab-ci.d / crossbuild-template.yml
blobd97611053b881a612f9add2fc4fa4f9d18e77d06
1 .cross_system_build_job:
2   extends: .base_job_template
3   stage: build
4   image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG
5   timeout: 80m
6   script:
7     - mkdir build
8     - cd build
9     - ../configure --enable-werror --disable-docs --enable-fdt=system
10         --disable-user $QEMU_CONFIGURE_OPTS $EXTRA_CONFIGURE_OPTS
11         --target-list-exclude="arm-softmmu cris-softmmu
12           i386-softmmu microblaze-softmmu mips-softmmu mipsel-softmmu
13           mips64-softmmu ppc-softmmu riscv32-softmmu sh4-softmmu
14           sparc-softmmu xtensa-softmmu $CROSS_SKIP_TARGETS"
15     - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
16     - if grep -q "EXESUF=.exe" config-host.mak;
17       then make installer;
18       version="$(git describe --match v[0-9]* 2>/dev/null || git rev-parse --short HEAD)";
19       mv -v qemu-setup*.exe qemu-setup-${version}.exe;
20       fi
22 # Job to cross-build specific accelerators.
24 # Set the $ACCEL variable to select the specific accelerator (default to
25 # KVM), and set extra options (such disabling other accelerators) via the
26 # $EXTRA_CONFIGURE_OPTS variable.
27 .cross_accel_build_job:
28   extends: .base_job_template
29   stage: build
30   image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG
31   timeout: 30m
32   script:
33     - mkdir build
34     - cd build
35     - ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
36         --disable-tools --enable-${ACCEL:-kvm} $EXTRA_CONFIGURE_OPTS
37     - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
39 .cross_user_build_job:
40   extends: .base_job_template
41   stage: build
42   image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG
43   script:
44     - mkdir build
45     - cd build
46     - ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
47         --disable-system --target-list-exclude="aarch64_be-linux-user
48           alpha-linux-user cris-linux-user m68k-linux-user microblazeel-linux-user
49           nios2-linux-user or1k-linux-user ppc-linux-user sparc-linux-user
50           xtensa-linux-user $CROSS_SKIP_TARGETS"
51     - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
53 # We can still run some tests on some of our cross build jobs. They can add this
54 # template to their extends to save the build logs and test results
55 .cross_test_artifacts:
56   artifacts:
57     name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
58     when: always
59     expire_in: 7 days
60     paths:
61       - build/meson-logs/testlog.txt
62     reports:
63       junit: build/meson-logs/testlog.junit.xml