image: fedora:32 before_script: - dnf update -y - dnf install -y make python build-aarch64: script: - dnf install -y qemu-system-aarch64 gcc-aarch64-linux-gnu - ./configure --arch=aarch64 --cross-prefix=aarch64-linux-gnu- - make -j2 - ACCEL=tcg MAX_SMP=8 ./run_tests.sh selftest-setup selftest-vectors-kernel selftest-vectors-user selftest-smp pci-test pmu-cycle-counter pmu-event-counter-config pmu-sw-incr gicv2-ipi gicv2-mmio gicv3-ipi gicv2-active gicv3-active psci timer cache | tee results.txt - if grep -q FAIL results.txt ; then exit 1 ; fi build-arm: script: - dnf install -y qemu-system-arm gcc-arm-linux-gnu - ./configure --arch=arm --cross-prefix=arm-linux-gnu- - make -j2 - ACCEL=tcg MAX_SMP=8 ./run_tests.sh selftest-setup selftest-vectors-kernel selftest-vectors-user selftest-smp pci-test pmu-cycle-counter gicv2-ipi gicv2-mmio gicv3-ipi gicv2-active gicv3-active psci | tee results.txt - if grep -q FAIL results.txt ; then exit 1 ; fi build-ppc64be: script: - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu - ./configure --arch=ppc64 --endian=big --cross-prefix=powerpc64-linux-gnu- - make -j2 - ACCEL=tcg ./run_tests.sh selftest-setup spapr_hcall rtas-get-time-of-day rtas-get-time-of-day-base rtas-set-time-of-day emulator | tee results.txt - if grep -q FAIL results.txt ; then exit 1 ; fi build-ppc64le: script: - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu - ./configure --arch=ppc64 --endian=little --cross-prefix=powerpc64-linux-gnu- - make -j2 - ACCEL=tcg ./run_tests.sh selftest-setup spapr_hcall rtas-get-time-of-day rtas-get-time-of-day-base rtas-set-time-of-day emulator | tee results.txt - if grep -q FAIL results.txt ; then exit 1 ; fi build-s390x: script: - dnf install -y qemu-system-s390x gcc-s390x-linux-gnu - ./configure --arch=s390x --cross-prefix=s390x-linux-gnu- - make -j2 - ACCEL=tcg ./run_tests.sh selftest-setup intercept emulator sieve skey diag10 diag308 vector diag288 stsi sclp-1g sclp-3g | tee results.txt - if grep -q FAIL results.txt ; then exit 1 ; fi build-x86_64: script: - dnf install -y qemu-system-x86 gcc - ./configure --arch=x86_64 - make -j2 - ACCEL=tcg ./run_tests.sh ioapic-split smptest smptest3 vmexit_cpuid vmexit_mov_from_cr8 vmexit_mov_to_cr8 vmexit_inl_pmtimer vmexit_ipi vmexit_ipi_halt vmexit_ple_round_robin vmexit_tscdeadline vmexit_tscdeadline_immed eventinj msr port80 setjmp sieve syscall tsc rmap_chain umip intel_iommu | tee results.txt - if grep -q FAIL results.txt ; then exit 1 ; fi build-i386: script: - dnf install -y qemu-system-x86 gcc - ./configure --arch=i386 - make -j2 - ACCEL=tcg ./run_tests.sh cmpxchg8b vmexit_cpuid vmexit_mov_from_cr8 vmexit_mov_to_cr8 vmexit_inl_pmtimer vmexit_ipi vmexit_ipi_halt vmexit_ple_round_robin vmexit_tscdeadline vmexit_tscdeadline_immed eventinj port80 setjmp sieve tsc taskswitch umip | tee results.txt - if grep -q FAIL results.txt ; then exit 1 ; fi build-clang: script: - dnf install -y qemu-system-x86 clang - ./configure --arch=x86_64 --cc=clang - make -j2 - ACCEL=tcg ./run_tests.sh ioapic-split smptest smptest3 vmexit_cpuid vmexit_mov_from_cr8 vmexit_mov_to_cr8 vmexit_inl_pmtimer vmexit_ipi vmexit_ipi_halt vmexit_ple_round_robin vmexit_tscdeadline vmexit_tscdeadline_immed eventinj msr port80 setjmp syscall tsc rmap_chain umip intel_iommu | tee results.txt - grep -q PASS results.txt && ! grep -q FAIL results.txt