blob: 943b20f8a48c73e9424ea6589f0cdf27e4bbb0f4 [file] [log] [blame]
Thomas Huth41a7f562020-05-13 11:50:50 +02001image: fedora:32
Thomas Huthd81f73b2019-05-27 13:28:53 +02002
Thomas Huthdd095732019-02-28 18:11:03 +01003before_script:
Thomas Huthd81f73b2019-05-27 13:28:53 +02004 - dnf update -y
5 - dnf install -y make python
Thomas Huthdd095732019-02-28 18:11:03 +01006
7build-aarch64:
8 script:
Thomas Huthd81f73b2019-05-27 13:28:53 +02009 - dnf install -y qemu-system-aarch64 gcc-aarch64-linux-gnu
Thomas Huthdd095732019-02-28 18:11:03 +010010 - ./configure --arch=aarch64 --cross-prefix=aarch64-linux-gnu-
11 - make -j2
Thomas Huthc3df00e2020-07-01 12:06:15 +020012 - ACCEL=tcg MAX_SMP=8 ./run_tests.sh
Thomas Huthdd095732019-02-28 18:11:03 +010013 selftest-setup selftest-vectors-kernel selftest-vectors-user selftest-smp
Thomas Huthc3df00e2020-07-01 12:06:15 +020014 pci-test pmu-cycle-counter pmu-event-counter-config pmu-sw-incr gicv2-ipi
15 gicv2-mmio gicv3-ipi gicv2-active gicv3-active psci timer cache
Thomas Huthdd095732019-02-28 18:11:03 +010016 | tee results.txt
17 - if grep -q FAIL results.txt ; then exit 1 ; fi
18
19build-arm:
20 script:
Andrew Jonesefd13c32019-11-28 15:24:10 +010021 - dnf install -y qemu-system-arm gcc-arm-linux-gnu
Thomas Huth13fc88a2020-07-31 11:41:39 +020022 - mkdir build
23 - cd build
24 - ../configure --arch=arm --cross-prefix=arm-linux-gnu-
Thomas Huthdd095732019-02-28 18:11:03 +010025 - make -j2
Thomas Huthc3df00e2020-07-01 12:06:15 +020026 - ACCEL=tcg MAX_SMP=8 ./run_tests.sh
Thomas Huthdd095732019-02-28 18:11:03 +010027 selftest-setup selftest-vectors-kernel selftest-vectors-user selftest-smp
Thomas Huthc3df00e2020-07-01 12:06:15 +020028 pci-test pmu-cycle-counter gicv2-ipi gicv2-mmio gicv3-ipi gicv2-active
29 gicv3-active psci
Thomas Huthdd095732019-02-28 18:11:03 +010030 | tee results.txt
31 - if grep -q FAIL results.txt ; then exit 1 ; fi
32
33build-ppc64be:
34 script:
Thomas Huthd81f73b2019-05-27 13:28:53 +020035 - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu
Thomas Huth13fc88a2020-07-31 11:41:39 +020036 - mkdir build
37 - cd build
38 - ../configure --arch=ppc64 --endian=big --cross-prefix=powerpc64-linux-gnu-
Thomas Huthdd095732019-02-28 18:11:03 +010039 - make -j2
40 - ACCEL=tcg ./run_tests.sh
41 selftest-setup spapr_hcall rtas-get-time-of-day rtas-get-time-of-day-base
42 rtas-set-time-of-day emulator
43 | tee results.txt
44 - if grep -q FAIL results.txt ; then exit 1 ; fi
45
46build-ppc64le:
47 script:
Thomas Huthd81f73b2019-05-27 13:28:53 +020048 - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu
Thomas Huthdd095732019-02-28 18:11:03 +010049 - ./configure --arch=ppc64 --endian=little --cross-prefix=powerpc64-linux-gnu-
50 - make -j2
51 - ACCEL=tcg ./run_tests.sh
52 selftest-setup spapr_hcall rtas-get-time-of-day rtas-get-time-of-day-base
53 rtas-set-time-of-day emulator
54 | tee results.txt
55 - if grep -q FAIL results.txt ; then exit 1 ; fi
56
57build-s390x:
58 script:
Thomas Huthd81f73b2019-05-27 13:28:53 +020059 - dnf install -y qemu-system-s390x gcc-s390x-linux-gnu
Thomas Huth1a842322021-07-16 12:52:19 +020060 - mkdir build
61 - cd build
62 - ../configure --arch=s390x --cross-prefix=s390x-linux-gnu-
Thomas Huthdd095732019-02-28 18:11:03 +010063 - make -j2
Thomas Huthd81f73b2019-05-27 13:28:53 +020064 - ACCEL=tcg ./run_tests.sh
Thomas Huthc3df00e2020-07-01 12:06:15 +020065 selftest-setup intercept emulator sieve skey diag10 diag308 vector diag288
66 stsi sclp-1g sclp-3g
Thomas Huthd81f73b2019-05-27 13:28:53 +020067 | tee results.txt
68 - if grep -q FAIL results.txt ; then exit 1 ; fi
Thomas Huthdd095732019-02-28 18:11:03 +010069
70build-x86_64:
71 script:
Thomas Huthd81f73b2019-05-27 13:28:53 +020072 - dnf install -y qemu-system-x86 gcc
Thomas Huthdd095732019-02-28 18:11:03 +010073 - ./configure --arch=x86_64
74 - make -j2
75 - ACCEL=tcg ./run_tests.sh
Thomas Huthc3df00e2020-07-01 12:06:15 +020076 ioapic-split smptest smptest3 vmexit_cpuid vmexit_mov_from_cr8
Thomas Huthdd095732019-02-28 18:11:03 +010077 vmexit_mov_to_cr8 vmexit_inl_pmtimer vmexit_ipi vmexit_ipi_halt
78 vmexit_ple_round_robin vmexit_tscdeadline vmexit_tscdeadline_immed
Sean Christopherson88f0bb12021-04-21 20:05:03 -070079 eventinj port80 setjmp sieve syscall tsc rmap_chain umip intel_iommu
Paolo Bonzini1987cf02021-01-27 09:50:26 +010080 rdpru pku pks smap tsc_adjust xsave
Thomas Huthdd095732019-02-28 18:11:03 +010081 | tee results.txt
82 - if grep -q FAIL results.txt ; then exit 1 ; fi
83
84build-i386:
85 script:
Thomas Huthd81f73b2019-05-27 13:28:53 +020086 - dnf install -y qemu-system-x86 gcc
Thomas Huth13fc88a2020-07-31 11:41:39 +020087 - mkdir build
88 - cd build
89 - ../configure --arch=i386
Thomas Huthdd095732019-02-28 18:11:03 +010090 - make -j2
91 - ACCEL=tcg ./run_tests.sh
Thomas Huthc3df00e2020-07-01 12:06:15 +020092 cmpxchg8b vmexit_cpuid vmexit_mov_from_cr8 vmexit_mov_to_cr8
93 vmexit_inl_pmtimer vmexit_ipi vmexit_ipi_halt vmexit_ple_round_robin
94 vmexit_tscdeadline vmexit_tscdeadline_immed eventinj port80 setjmp sieve
Paolo Bonzini1987cf02021-01-27 09:50:26 +010095 tsc taskswitch umip rdpru smap tsc_adjust xsave
Thomas Huthdd095732019-02-28 18:11:03 +010096 | tee results.txt
97 - if grep -q FAIL results.txt ; then exit 1 ; fi
Thomas Huth417ecf42020-05-13 11:54:46 +020098
99build-clang:
100 script:
101 - dnf install -y qemu-system-x86 clang
102 - ./configure --arch=x86_64 --cc=clang
103 - make -j2
104 - ACCEL=tcg ./run_tests.sh
Thomas Huthc3df00e2020-07-01 12:06:15 +0200105 ioapic-split smptest smptest3 vmexit_cpuid vmexit_mov_from_cr8
Thomas Huth417ecf42020-05-13 11:54:46 +0200106 vmexit_mov_to_cr8 vmexit_inl_pmtimer vmexit_ipi vmexit_ipi_halt
107 vmexit_ple_round_robin vmexit_tscdeadline vmexit_tscdeadline_immed
Sean Christopherson88f0bb12021-04-21 20:05:03 -0700108 eventinj port80 setjmp syscall tsc rmap_chain umip intel_iommu
Paolo Bonzini1987cf02021-01-27 09:50:26 +0100109 rdpru pku pks smap tsc_adjust xsave
Thomas Huth417ecf42020-05-13 11:54:46 +0200110 | tee results.txt
111 - grep -q PASS results.txt && ! grep -q FAIL results.txt
Thomas Huth0079fe82020-07-31 11:15:48 +0200112
113build-centos7:
114 image: centos:7
115 before_script:
116 - yum update -y
117 - yum install -y make python qemu-kvm gcc
118 script:
119 - mkdir build
120 - cd build
121 - ../configure --arch=x86_64 --disable-pretty-print-stacks
122 - make -j2
123 - ACCEL=tcg ./run_tests.sh
Sean Christopherson88f0bb12021-04-21 20:05:03 -0700124 vmexit_cpuid vmexit_mov_from_cr8 vmexit_mov_to_cr8 vmexit_inl_pmtimer
Thomas Huth0079fe82020-07-31 11:15:48 +0200125 vmexit_ple_round_robin vmexit_tscdeadline vmexit_tscdeadline_immed port80
126 setjmp sieve tsc rmap_chain umip
127 | tee results.txt
128 - grep -q PASS results.txt && ! grep -q FAIL results.txt
Thomas Huth990955e2021-01-15 23:30:17 +0100129
130# Cirrus-CI provides containers with macOS and Linux with KVM enabled,
131# so we can test some scenarios there that are not possible with the
132# gitlab-CI shared runners. We use the "cirrus-run" container from the
133# libvirt project to start the jobs. See the following URL for more
134# information how to set up your environment to use these containers:
135#
136# https://gitlab.com/libvirt/libvirt/-/blob/v7.0.0/ci/README.rst
137#
138.cirrus_build_job_template: &cirrus_build_job_definition
139 image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master
140 before_script:
141 - sed -e "s|[@]CI_REPOSITORY_URL@|$CI_REPOSITORY_URL|g"
142 -e "s|[@]CI_COMMIT_REF_NAME@|$CI_COMMIT_REF_NAME|g"
143 -e "s|[@]CI_COMMIT_SHA@|$CI_COMMIT_SHA|g"
144 < ci/$CI_JOB_NAME.yml > ci/_$CI_JOB_NAME.yml
145 script:
146 - cirrus-run -v --show-build-log always ci/_$CI_JOB_NAME.yml
147 only:
148 variables:
149 - $CIRRUS_GITHUB_REPO
150 - $CIRRUS_API_TOKEN
151
152cirrus-ci-fedora:
153 <<: *cirrus_build_job_definition
154
155cirrus-ci-macos-i386:
156 <<: *cirrus_build_job_definition
157
158cirrus-ci-macos-x86-64:
159 <<: *cirrus_build_job_definition
Marcelo Bandeira Condotta21eb9662021-02-08 12:02:27 -0300160
161s390x-kvm:
162 before_script: []
163 tags:
164 - s390x-z15-vm
165 script:
166 - ./configure --arch=s390x
167 - make -j$(nproc)
Thomas Huth64a9b492021-02-09 09:18:30 +0100168 - ACCEL=kvm ./run_tests.sh
169 selftest-setup intercept emulator sieve sthyi skey diag10 diag308 pfmf
170 cmm vector gs iep cpumodel diag288 stsi sclp-1g sclp-3g css skrf sie
171 | tee results.txt
Marcelo Bandeira Condotta21eb9662021-02-08 12:02:27 -0300172 - grep -q PASS results.txt && ! grep -q FAIL results.txt
173 only:
174 variables:
175 - $S390X_Z15_RUNNER_AVAILABLE