blob: b7c05719bada8b76c8c2458fdc2134579e9a806f [file] [log] [blame]
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
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 msr 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
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
# 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