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
 - mkdir build
 - cd build
 - ../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
 - mkdir build
 - cd build
 - ../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
 - mkdir build
 - cd build
 - ../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

build-centos7:
 image: centos:7
 before_script:
 - yum update -y
 - yum install -y make python qemu-kvm gcc
 script:
 - mkdir build
 - cd build
 - ../configure --arch=x86_64 --disable-pretty-print-stacks
 - make -j2
 - ACCEL=tcg ./run_tests.sh
     msr vmexit_cpuid vmexit_mov_from_cr8 vmexit_mov_to_cr8 vmexit_inl_pmtimer
     vmexit_ple_round_robin vmexit_tscdeadline vmexit_tscdeadline_immed port80
     setjmp sieve tsc rmap_chain umip
     | tee results.txt
 - grep -q PASS results.txt && ! grep -q FAIL results.txt
