| 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 |
| - mkdir build |
| - cd build |
| - ../configure --arch=s390x --cross-prefix=s390x-linux-gnu- |
| - make -j2 |
| - ACCEL=tcg ./run_tests.sh |
| selftest-setup intercept emulator sieve 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 port80 setjmp sieve syscall tsc rmap_chain umip intel_iommu |
| rdpru pku pks smap tsc_adjust xsave |
| | 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 rdpru smap tsc_adjust xsave |
| | 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 port80 setjmp syscall tsc rmap_chain umip intel_iommu |
| rdpru pku pks smap tsc_adjust xsave |
| | 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 |
| 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 |
| |
| # Cirrus-CI provides containers with macOS and Linux with KVM enabled, |
| # so we can test some scenarios there that are not possible with the |
| # gitlab-CI shared runners. We use the "cirrus-run" container from the |
| # libvirt project to start the jobs. See the following URL for more |
| # information how to set up your environment to use these containers: |
| # |
| # https://gitlab.com/libvirt/libvirt/-/blob/v7.0.0/ci/README.rst |
| # |
| .cirrus_build_job_template: &cirrus_build_job_definition |
| image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master |
| before_script: |
| - sed -e "s|[@]CI_REPOSITORY_URL@|$CI_REPOSITORY_URL|g" |
| -e "s|[@]CI_COMMIT_REF_NAME@|$CI_COMMIT_REF_NAME|g" |
| -e "s|[@]CI_COMMIT_SHA@|$CI_COMMIT_SHA|g" |
| < ci/$CI_JOB_NAME.yml > ci/_$CI_JOB_NAME.yml |
| script: |
| - cirrus-run -v --show-build-log always ci/_$CI_JOB_NAME.yml |
| only: |
| variables: |
| - $CIRRUS_GITHUB_REPO |
| - $CIRRUS_API_TOKEN |
| |
| cirrus-ci-fedora: |
| <<: *cirrus_build_job_definition |
| |
| cirrus-ci-macos-i386: |
| <<: *cirrus_build_job_definition |
| |
| cirrus-ci-macos-x86-64: |
| <<: *cirrus_build_job_definition |
| |
| s390x-kvm: |
| before_script: [] |
| tags: |
| - s390x-z15-vm |
| script: |
| - ./configure --arch=s390x |
| - make -j$(nproc) |
| - ACCEL=kvm ./run_tests.sh |
| selftest-setup intercept emulator sieve sthyi skey diag10 diag308 pfmf |
| cmm vector gs iep cpumodel diag288 stsi sclp-1g sclp-3g css skrf sie |
| | tee results.txt |
| - grep -q PASS results.txt && ! grep -q FAIL results.txt |
| only: |
| variables: |
| - $S390X_Z15_RUNNER_AVAILABLE |