tests/arm-cpu-features: Do not assume PMU availability
[qemu/ar7.git] / .travis.yml
blob8fc1ae0cf22d3f91e5ddcd6bf321ec739631aa30
1 os: linux
2 dist: jammy
3 language: c
4 compiler:
5   - gcc
6 cache:
7   # There is one cache per branch and compiler version.
8   # characteristics of each job are used to identify the cache:
9   # - OS name (currently only linux)
10   # - OS distribution (e.g. "jammy" for Linux)
11   # - Names and values of visible environment variables set in .travis.yml or Settings panel
12   timeout: 1200
13   ccache: true
14   pip: true
17 # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu
18 # to prevent IRC notifications from forks. This was created using:
19 # $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu"
20 notifications:
21   irc:
22     channels:
23       - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
24     on_success: change
25     on_failure: always
28 env:
29   global:
30     - SRC_DIR=".."
31     - BUILD_DIR="build"
32     - BASE_CONFIG="--disable-docs --disable-tools"
33     - TEST_BUILD_CMD=""
34     - TEST_CMD="make check V=1"
35     # This is broadly a list of "mainline" system targets which have support across the major distros
36     - MAIN_SYSTEM_TARGETS="aarch64-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
37     - CCACHE_SLOPPINESS="include_file_ctime,include_file_mtime"
38     - CCACHE_MAXSIZE=1G
39     - G_MESSAGES_DEBUG=error
42 git:
43   # we want to do this ourselves
44   submodules: false
46 # Common first phase for all steps
47 # We no longer use nproc to calculate jobs:
48 # https://travis-ci.community/t/nproc-reports-32-cores-on-arm64/5851
49 before_install:
50   - if command -v ccache ; then ccache --zero-stats ; fi
51   - export JOBS=3
52   - echo "=== Using ${JOBS} simultaneous jobs ==="
54 # Configure step - may be overridden
55 before_script:
56   - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
57   - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log meson-logs/meson-log.txt && exit 1; }
59 # Main build & test - rarely overridden - controlled by TEST_CMD
60 script:
61   - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
62   - |
63     if [ "$BUILD_RC" -eq 0 ] && [ -n "$TEST_BUILD_CMD" ]; then
64         ${TEST_BUILD_CMD} || BUILD_RC=$?
65     else
66         $(exit $BUILD_RC);
67     fi
68   - |
69     if [ "$BUILD_RC" -eq 0 ] ; then
70         ${TEST_CMD} ;
71     else
72         $(exit $BUILD_RC);
73     fi
74 after_script:
75   - df -h
76   - if command -v ccache ; then ccache --show-stats ; fi
79 jobs:
80   include:
82     - name: "[aarch64] GCC check-tcg"
83       arch: arm64
84       addons:
85         apt_packages:
86           - libaio-dev
87           - libattr1-dev
88           - libbrlapi-dev
89           - libcacard-dev
90           - libcap-ng-dev
91           - libfdt-dev
92           - libgcrypt20-dev
93           - libgnutls28-dev
94           - libgtk-3-dev
95           - libiscsi-dev
96           - liblttng-ust-dev
97           - libncurses5-dev
98           - libnfs-dev
99           - libpixman-1-dev
100           - libpng-dev
101           - librados-dev
102           - libsdl2-dev
103           - libseccomp-dev
104           - liburcu-dev
105           - libusb-1.0-0-dev
106           - libvdeplug-dev
107           - libvte-2.91-dev
108           - ninja-build
109           - python3-tomli
110           # Tests dependencies
111           - genisoimage
112       env:
113         - TEST_CMD="make check check-tcg V=1"
114         - CONFIG="--disable-containers --enable-fdt=system
115                   --target-list=${MAIN_SYSTEM_TARGETS} --cxx=/bin/false"
117     - name: "[ppc64] Clang check-tcg"
118       arch: ppc64le
119       compiler: clang
120       addons:
121         apt_packages:
122           - libaio-dev
123           - libattr1-dev
124           - libbrlapi-dev
125           - libcacard-dev
126           - libcap-ng-dev
127           - libfdt-dev
128           - libgcrypt20-dev
129           - libgnutls28-dev
130           - libgtk-3-dev
131           - libiscsi-dev
132           - liblttng-ust-dev
133           - libncurses5-dev
134           - libnfs-dev
135           - libpixman-1-dev
136           - libpng-dev
137           - librados-dev
138           - libsdl2-dev
139           - libseccomp-dev
140           - liburcu-dev
141           - libusb-1.0-0-dev
142           - libvdeplug-dev
143           - libvte-2.91-dev
144           - ninja-build
145           - python3-tomli
146           # Tests dependencies
147           - genisoimage
148       env:
149         - TEST_CMD="make check check-tcg V=1"
150         - CONFIG="--disable-containers --enable-fdt=system
151                   --target-list=ppc64-softmmu,ppc64le-linux-user"
153     - name: "[s390x] GCC check-tcg"
154       arch: s390x
155       addons:
156         apt_packages:
157           - libaio-dev
158           - libattr1-dev
159           - libbrlapi-dev
160           - libcacard-dev
161           - libcap-ng-dev
162           - libfdt-dev
163           - libgcrypt20-dev
164           - libgnutls28-dev
165           - libgtk-3-dev
166           - libiscsi-dev
167           - liblttng-ust-dev
168           - libncurses5-dev
169           - libnfs-dev
170           - libpixman-1-dev
171           - libpng-dev
172           - librados-dev
173           - libsdl2-dev
174           - libseccomp-dev
175           - liburcu-dev
176           - libusb-1.0-0-dev
177           - libvdeplug-dev
178           - libvte-2.91-dev
179           - ninja-build
180           - python3-tomli
181           # Tests dependencies
182           - genisoimage
183       env:
184         - TEST_CMD="make check check-tcg V=1"
185         - CONFIG="--disable-containers
186             --target-list=hppa-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
187       script:
188         - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
189         - |
190           if [ "$BUILD_RC" -eq 0 ] ; then
191               mv pc-bios/s390-ccw/*.img qemu-bundle/usr/local/share/qemu ;
192               ${TEST_CMD} ;
193           else
194               $(exit $BUILD_RC);
195           fi
197     - name: "[s390x] Clang (other-system)"
198       arch: s390x
199       compiler: clang
200       addons:
201         apt_packages:
202           - libaio-dev
203           - libattr1-dev
204           - libcacard-dev
205           - libcap-ng-dev
206           - libfdt-dev
207           - libgnutls28-dev
208           - libiscsi-dev
209           - liblttng-ust-dev
210           - liblzo2-dev
211           - libncurses-dev
212           - libnfs-dev
213           - libpixman-1-dev
214           - libsdl2-dev
215           - libsdl2-image-dev
216           - libseccomp-dev
217           - libsnappy-dev
218           - libzstd-dev
219           - nettle-dev
220           - ninja-build
221           - python3-tomli
222           # Tests dependencies
223           - genisoimage
224       env:
225         - CONFIG="--disable-containers --audio-drv-list=sdl --disable-user
226             --target-list=arm-softmmu,avr-softmmu,microblaze-softmmu,sh4eb-softmmu,sparc64-softmmu,xtensaeb-softmmu"
228     - name: "[s390x] GCC (user)"
229       arch: s390x
230       addons:
231         apt_packages:
232           - libgcrypt20-dev
233           - libglib2.0-dev
234           - libgnutls28-dev
235           - ninja-build
236           - flex
237           - bison
238           - python3-tomli
239       env:
240         - TEST_CMD="make check check-tcg V=1"
241         - CONFIG="--disable-containers --disable-system"
243     - name: "[s390x] Clang (disable-tcg)"
244       arch: s390x
245       compiler: clang
246       addons:
247         apt_packages:
248           - libaio-dev
249           - libattr1-dev
250           - libbrlapi-dev
251           - libcacard-dev
252           - libcap-ng-dev
253           - libfdt-dev
254           - libgcrypt20-dev
255           - libgnutls28-dev
256           - libgtk-3-dev
257           - libiscsi-dev
258           - liblttng-ust-dev
259           - libncurses5-dev
260           - libnfs-dev
261           - libpixman-1-dev
262           - libpng-dev
263           - librados-dev
264           - libsdl2-dev
265           - libseccomp-dev
266           - liburcu-dev
267           - libusb-1.0-0-dev
268           - libvdeplug-dev
269           - libvte-2.91-dev
270           - ninja-build
271           - python3-tomli
272       env:
273         - TEST_CMD="make check-unit"
274         - CONFIG="--disable-containers --disable-tcg --enable-kvm --disable-tools
275                   --enable-fdt=system --host-cc=clang --cxx=clang++"