| image: fedora:37 |
| |
| 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 |
| cache |
| debug-bp |
| debug-sstep |
| debug-wp |
| gicv2-active |
| gicv2-ipi |
| gicv2-mmio |
| gicv3-active |
| gicv3-ipi |
| its-introspection |
| its-trigger |
| pci-test |
| pmu-cycle-counter |
| pmu-event-counter-config |
| pmu-sw-incr |
| psci |
| selftest-setup |
| selftest-smp |
| selftest-vectors-kernel |
| selftest-vectors-user |
| timer |
| | 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 |
| adtl-status-no-vec-no-gs-tcg |
| adtl-status-tcg |
| cpumodel |
| css |
| diag10 |
| diag288 |
| diag308 |
| edat |
| emulator |
| epsw |
| exittime |
| firq-linear-cpu-ids-tcg |
| firq-nonlinear-cpu-ids-tcg |
| iep |
| intercept |
| mvpg |
| sck |
| sclp-1g |
| sclp-3g |
| selftest-setup |
| sieve |
| smp |
| stsi |
| tprot |
| vector |
| | 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 |
| eventinj |
| intel_iommu |
| ioapic-split |
| memory |
| pks |
| pku |
| rdpru |
| realmode |
| rmap_chain |
| setjmp |
| sieve |
| smap |
| smptest |
| smptest3 |
| syscall |
| tsc |
| umip |
| vmexit_cpuid |
| vmexit_cr0_wp |
| vmexit_cr4_pge |
| vmexit_inl_pmtimer |
| vmexit_ipi |
| vmexit_ipi_halt |
| vmexit_mov_from_cr8 |
| vmexit_mov_to_cr8 |
| vmexit_ple_round_robin |
| vmexit_tscdeadline |
| vmexit_tscdeadline_immed |
| 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 |
| eventinj |
| realmode |
| setjmp |
| sieve |
| smap |
| smptest |
| smptest3 |
| taskswitch |
| tsc |
| umip |
| vmexit_cpuid |
| vmexit_cr0_wp |
| vmexit_cr4_pge |
| vmexit_inl_pmtimer |
| vmexit_ipi |
| vmexit_ipi_halt |
| vmexit_mov_from_cr8 |
| vmexit_mov_to_cr8 |
| vmexit_ple_round_robin |
| vmexit_tscdeadline |
| vmexit_tscdeadline_immed |
| | 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 |
| eventinj |
| intel_iommu |
| ioapic-split |
| memory |
| pks |
| pku |
| rdpru |
| realmode |
| rmap_chain |
| setjmp |
| sieve |
| smap |
| smptest |
| smptest3 |
| syscall |
| tsc |
| umip |
| vmexit_cpuid |
| vmexit_cr0_wp |
| vmexit_cr4_pge |
| vmexit_inl_pmtimer |
| vmexit_ipi |
| vmexit_ipi_halt |
| vmexit_mov_from_cr8 |
| vmexit_mov_to_cr8 |
| vmexit_ple_round_robin |
| vmexit_tscdeadline |
| vmexit_tscdeadline_immed |
| 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 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 |