xref: /qemu/.travis.yml (revision e23130f9)
1321e6ea5SWainer dos Santos Moschettaos: linux
2e769905eSThomas Huthdist: focal
3fe863ab9SAlex Bennéelanguage: c
4fe863ab9SAlex Bennéecompiler:
5fe863ab9SAlex Bennée  - gcc
64bc629b2SPhilippe Mathieu-Daudécache:
75ef9c53cSPhilippe Mathieu-Daudé  # There is one cache per branch and compiler version.
85ef9c53cSPhilippe Mathieu-Daudé  # characteristics of each job are used to identify the cache:
922a23195SAlex Bennée  # - OS name (currently only linux)
10e769905eSThomas Huth  # - OS distribution (for Linux, bionic or focal)
115ef9c53cSPhilippe Mathieu-Daudé  # - Names and values of visible environment variables set in .travis.yml or Settings panel
12731cbb64SPhilippe Mathieu-Daudé  timeout: 1200
134bc629b2SPhilippe Mathieu-Daudé  ccache: true
146e189d78SPhilippe Mathieu-Daudé  pip: true
15c1073e44SPhilippe Mathieu-Daudé  directories:
16c1073e44SPhilippe Mathieu-Daudé  - $HOME/avocado/data/cache
17197be697SDaniel P. Berrangé
18197be697SDaniel P. Berrangé
19cb4c2536SPranith Kumar# The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu
20cb4c2536SPranith Kumar# to prevent IRC notifications from forks. This was created using:
21cb4c2536SPranith Kumar# $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu"
2239d16d29SAlex Bennéenotifications:
2339d16d29SAlex Bennée  irc:
2439d16d29SAlex Bennée    channels:
25cb4c2536SPranith Kumar      - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
2639d16d29SAlex Bennée    on_success: change
2739d16d29SAlex Bennée    on_failure: always
28197be697SDaniel P. Berrangé
29197be697SDaniel P. Berrangé
30fe863ab9SAlex Bennéeenv:
31fe863ab9SAlex Bennée  global:
32bc4486fbSPaolo Bonzini    - SRC_DIR=".."
33bc4486fbSPaolo Bonzini    - BUILD_DIR="build"
34570f3c77SAlex Bennée    - BASE_CONFIG="--disable-docs --disable-tools"
354f46afd9SAlex Bennée    - TEST_BUILD_CMD=""
3605273a43SAlex Bennée    - TEST_CMD="make check V=1"
378c3daf97SAlex Bennée    # This is broadly a list of "mainline" softmmu targets which have support across the major distros
386e988880SAlex Bennée    - MAIN_SOFTMMU_TARGETS="aarch64-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
39bcfbf0d5SPhilippe Mathieu-Daudé    - CCACHE_SLOPPINESS="include_file_ctime,include_file_mtime"
40bcfbf0d5SPhilippe Mathieu-Daudé    - CCACHE_MAXSIZE=1G
412dbd39c2SPhilippe Mathieu-Daudé    - G_MESSAGES_DEBUG=error
42bcfbf0d5SPhilippe Mathieu-Daudé
43197be697SDaniel P. Berrangé
44cb021cfeSAlex Bennéegit:
45cb021cfeSAlex Bennée  # we want to do this ourselves
46cb021cfeSAlex Bennée  submodules: false
47197be697SDaniel P. Berrangé
48b3165c87SAlex Bennée# Common first phase for all steps
49fc424182SThomas Huth# We no longer use nproc to calculate jobs:
50fc424182SThomas Huth# https://travis-ci.community/t/nproc-reports-32-cores-on-arm64/5851
51b3165c87SAlex Bennéebefore_install:
52312995c2SThomas Huth  - if command -v ccache ; then ccache --zero-stats ; fi
53fc424182SThomas Huth  - export JOBS=3
540a7c0ae0SAlex Bennée  - echo "=== Using ${JOBS} simultaneous jobs ==="
55b3165c87SAlex Bennée
56b3165c87SAlex Bennée# Configure step - may be overridden
57b3165c87SAlex Bennéebefore_script:
58ebf2ff65SPhilippe Mathieu-Daudé  - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
59c47110d9SPaolo Bonzini  - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log meson-logs/meson-log.txt && exit 1; }
60b3165c87SAlex Bennée
61b3165c87SAlex Bennée# Main build & test - rarely overridden - controlled by TEST_CMD
62eebf2940SAlex Bennéescript:
630a7c0ae0SAlex Bennée  - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
644f46afd9SAlex Bennée  - |
654f46afd9SAlex Bennée    if [ "$BUILD_RC" -eq 0 ] && [ -n "$TEST_BUILD_CMD" ]; then
664f46afd9SAlex Bennée        ${TEST_BUILD_CMD} || BUILD_RC=$?
674f46afd9SAlex Bennée    else
684f46afd9SAlex Bennée        $(exit $BUILD_RC);
694f46afd9SAlex Bennée    fi
70ec49faacSAlex Bennée  - |
71ec49faacSAlex Bennée    if [ "$BUILD_RC" -eq 0 ] ; then
72ec49faacSAlex Bennée        ${TEST_CMD} ;
73ec49faacSAlex Bennée    else
74ec49faacSAlex Bennée        $(exit $BUILD_RC);
75ec49faacSAlex Bennée    fi
76bcfbf0d5SPhilippe Mathieu-Daudéafter_script:
774f8bde52SAlex Bennée  - df -h
78312995c2SThomas Huth  - if command -v ccache ; then ccache --show-stats ; fi
79197be697SDaniel P. Berrangé
80197be697SDaniel P. Berrangé
81321e6ea5SWainer dos Santos Moschettajobs:
82fe863ab9SAlex Bennée  include:
833e094234SDaniel P. Berrangé
84097aebd8SPhilippe Mathieu-Daudé    - name: "[aarch64] GCC check-tcg"
85097aebd8SPhilippe Mathieu-Daudé      arch: arm64
86e769905eSThomas Huth      dist: focal
879c5941a9SThomas Huth      addons:
889c5941a9SThomas Huth        apt_packages:
899c5941a9SThomas Huth          - libaio-dev
909c5941a9SThomas Huth          - libattr1-dev
919c5941a9SThomas Huth          - libbrlapi-dev
9251f5c849SDaniel P. Berrangé          - libcacard-dev
939c5941a9SThomas Huth          - libcap-ng-dev
94769897bdSThomas Huth          - libfdt-dev
959c5941a9SThomas Huth          - libgcrypt20-dev
969c5941a9SThomas Huth          - libgnutls28-dev
979c5941a9SThomas Huth          - libgtk-3-dev
989c5941a9SThomas Huth          - libiscsi-dev
999c5941a9SThomas Huth          - liblttng-ust-dev
1009c5941a9SThomas Huth          - libncurses5-dev
1019c5941a9SThomas Huth          - libnfs-dev
1029c5941a9SThomas Huth          - libpixman-1-dev
1039c5941a9SThomas Huth          - libpng-dev
1049c5941a9SThomas Huth          - librados-dev
1059c5941a9SThomas Huth          - libsdl2-dev
1069c5941a9SThomas Huth          - libseccomp-dev
1079c5941a9SThomas Huth          - liburcu-dev
1089c5941a9SThomas Huth          - libusb-1.0-0-dev
1099c5941a9SThomas Huth          - libvdeplug-dev
1109c5941a9SThomas Huth          - libvte-2.91-dev
111345d7053SPaolo Bonzini          - ninja-build
11258a1e5b6SWainer dos Santos Moschetta          # Tests dependencies
11358a1e5b6SWainer dos Santos Moschetta          - genisoimage
1149c5941a9SThomas Huth      env:
1159c5941a9SThomas Huth        - TEST_CMD="make check check-tcg V=1"
116769897bdSThomas Huth        - CONFIG="--disable-containers --enable-fdt=system
117769897bdSThomas Huth                  --target-list=${MAIN_SOFTMMU_TARGETS} --cxx=/bin/false"
1181de8e4c4SAlex Bennée        - UNRELIABLE=true
1199c5941a9SThomas Huth
120097aebd8SPhilippe Mathieu-Daudé    - name: "[ppc64] GCC check-tcg"
121097aebd8SPhilippe Mathieu-Daudé      arch: ppc64le
122e769905eSThomas Huth      dist: focal
1239c5941a9SThomas Huth      addons:
1249c5941a9SThomas Huth        apt_packages:
1259c5941a9SThomas Huth          - libaio-dev
1269c5941a9SThomas Huth          - libattr1-dev
1279c5941a9SThomas Huth          - libbrlapi-dev
12851f5c849SDaniel P. Berrangé          - libcacard-dev
1299c5941a9SThomas Huth          - libcap-ng-dev
130769897bdSThomas Huth          - libfdt-dev
1319c5941a9SThomas Huth          - libgcrypt20-dev
1329c5941a9SThomas Huth          - libgnutls28-dev
1339c5941a9SThomas Huth          - libgtk-3-dev
1349c5941a9SThomas Huth          - libiscsi-dev
1359c5941a9SThomas Huth          - liblttng-ust-dev
1369c5941a9SThomas Huth          - libncurses5-dev
1379c5941a9SThomas Huth          - libnfs-dev
1389c5941a9SThomas Huth          - libpixman-1-dev
1399c5941a9SThomas Huth          - libpng-dev
1409c5941a9SThomas Huth          - librados-dev
1419c5941a9SThomas Huth          - libsdl2-dev
1429c5941a9SThomas Huth          - libseccomp-dev
1439c5941a9SThomas Huth          - liburcu-dev
1449c5941a9SThomas Huth          - libusb-1.0-0-dev
1459c5941a9SThomas Huth          - libvdeplug-dev
1469c5941a9SThomas Huth          - libvte-2.91-dev
147345d7053SPaolo Bonzini          - ninja-build
14858a1e5b6SWainer dos Santos Moschetta          # Tests dependencies
14958a1e5b6SWainer dos Santos Moschetta          - genisoimage
1509c5941a9SThomas Huth      env:
1519c5941a9SThomas Huth        - TEST_CMD="make check check-tcg V=1"
152769897bdSThomas Huth        - CONFIG="--disable-containers --enable-fdt=system
153769897bdSThomas Huth                  --target-list=ppc64-softmmu,ppc64le-linux-user"
1549c5941a9SThomas Huth
155097aebd8SPhilippe Mathieu-Daudé    - name: "[s390x] GCC check-tcg"
156097aebd8SPhilippe Mathieu-Daudé      arch: s390x
157e7b3b095SThomas Huth      dist: focal
1589c5941a9SThomas Huth      addons:
1599c5941a9SThomas Huth        apt_packages:
1609c5941a9SThomas Huth          - libaio-dev
1619c5941a9SThomas Huth          - libattr1-dev
1629c5941a9SThomas Huth          - libbrlapi-dev
16351f5c849SDaniel P. Berrangé          - libcacard-dev
1649c5941a9SThomas Huth          - libcap-ng-dev
165769897bdSThomas Huth          - libfdt-dev
1669c5941a9SThomas Huth          - libgcrypt20-dev
1679c5941a9SThomas Huth          - libgnutls28-dev
1689c5941a9SThomas Huth          - libgtk-3-dev
1699c5941a9SThomas Huth          - libiscsi-dev
1709c5941a9SThomas Huth          - liblttng-ust-dev
1719c5941a9SThomas Huth          - libncurses5-dev
1729c5941a9SThomas Huth          - libnfs-dev
1739c5941a9SThomas Huth          - libpixman-1-dev
1749c5941a9SThomas Huth          - libpng-dev
1759c5941a9SThomas Huth          - librados-dev
1769c5941a9SThomas Huth          - libsdl2-dev
1779c5941a9SThomas Huth          - libseccomp-dev
1789c5941a9SThomas Huth          - liburcu-dev
1799c5941a9SThomas Huth          - libusb-1.0-0-dev
1809c5941a9SThomas Huth          - libvdeplug-dev
1819c5941a9SThomas Huth          - libvte-2.91-dev
182345d7053SPaolo Bonzini          - ninja-build
18358a1e5b6SWainer dos Santos Moschetta          # Tests dependencies
18458a1e5b6SWainer dos Santos Moschetta          - genisoimage
1859c5941a9SThomas Huth      env:
1869c5941a9SThomas Huth        - TEST_CMD="make check check-tcg V=1"
187769897bdSThomas Huth        - CONFIG="--disable-containers --enable-fdt=system
188769897bdSThomas Huth                  --target-list=${MAIN_SOFTMMU_TARGETS},s390x-linux-user"
1891de8e4c4SAlex Bennée        - UNRELIABLE=true
19031c8cc4fSThomas Huth      script:
19131c8cc4fSThomas Huth        - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
19231c8cc4fSThomas Huth        - |
19331c8cc4fSThomas Huth          if [ "$BUILD_RC" -eq 0 ] ; then
194882084a0SAkihiko Odaki              mv pc-bios/s390-ccw/*.img qemu-bundle/usr/local/share/qemu ;
19531c8cc4fSThomas Huth              ${TEST_CMD} ;
19631c8cc4fSThomas Huth          else
19731c8cc4fSThomas Huth              $(exit $BUILD_RC);
19831c8cc4fSThomas Huth          fi
19961ac3dccSPhilippe Mathieu-Daudé
200100a5efbSThomas Huth    - name: "[s390x] GCC (other-softmmu)"
201100a5efbSThomas Huth      arch: s390x
202e7b3b095SThomas Huth      dist: focal
203100a5efbSThomas Huth      addons:
204100a5efbSThomas Huth        apt_packages:
205100a5efbSThomas Huth          - libaio-dev
206100a5efbSThomas Huth          - libattr1-dev
20751f5c849SDaniel P. Berrangé          - libcacard-dev
208100a5efbSThomas Huth          - libcap-ng-dev
209769897bdSThomas Huth          - libfdt-dev
210100a5efbSThomas Huth          - libgnutls28-dev
211100a5efbSThomas Huth          - libiscsi-dev
212100a5efbSThomas Huth          - liblttng-ust-dev
213100a5efbSThomas Huth          - liblzo2-dev
214100a5efbSThomas Huth          - libncurses-dev
215100a5efbSThomas Huth          - libnfs-dev
216100a5efbSThomas Huth          - libpixman-1-dev
217100a5efbSThomas Huth          - libsdl2-dev
218100a5efbSThomas Huth          - libsdl2-image-dev
219100a5efbSThomas Huth          - libseccomp-dev
220100a5efbSThomas Huth          - libsnappy-dev
221100a5efbSThomas Huth          - libzstd-dev
222100a5efbSThomas Huth          - nettle-dev
223100a5efbSThomas Huth          - xfslibs-dev
224345d7053SPaolo Bonzini          - ninja-build
225100a5efbSThomas Huth          # Tests dependencies
226100a5efbSThomas Huth          - genisoimage
227100a5efbSThomas Huth      env:
228769897bdSThomas Huth        - CONFIG="--disable-containers --enable-fdt=system --audio-drv-list=sdl
229769897bdSThomas Huth                  --disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}"
230db727a14SDr. David Alan Gilbert
231100a5efbSThomas Huth    - name: "[s390x] GCC (user)"
232100a5efbSThomas Huth      arch: s390x
233e7b3b095SThomas Huth      dist: focal
234100a5efbSThomas Huth      addons:
235100a5efbSThomas Huth        apt_packages:
236100a5efbSThomas Huth          - libgcrypt20-dev
237e7b3b095SThomas Huth          - libglib2.0-dev
238100a5efbSThomas Huth          - libgnutls28-dev
239345d7053SPaolo Bonzini          - ninja-build
240e23130f9SVaibhav Jain          - flex
241e23130f9SVaibhav Jain          - bison
242100a5efbSThomas Huth      env:
243100a5efbSThomas Huth        - CONFIG="--disable-containers --disable-system"
244db727a14SDr. David Alan Gilbert
245aae8b87eSThomas Huth    - name: "[s390x] Clang (disable-tcg)"
24641e1f0e2SPhilippe Mathieu-Daudé      arch: s390x
247e7b3b095SThomas Huth      dist: focal
248a53be666SVaibhav Jain      compiler: clang-10
24941e1f0e2SPhilippe Mathieu-Daudé      addons:
25041e1f0e2SPhilippe Mathieu-Daudé        apt_packages:
25141e1f0e2SPhilippe Mathieu-Daudé          - libaio-dev
25241e1f0e2SPhilippe Mathieu-Daudé          - libattr1-dev
25341e1f0e2SPhilippe Mathieu-Daudé          - libbrlapi-dev
25451f5c849SDaniel P. Berrangé          - libcacard-dev
25541e1f0e2SPhilippe Mathieu-Daudé          - libcap-ng-dev
256769897bdSThomas Huth          - libfdt-dev
25741e1f0e2SPhilippe Mathieu-Daudé          - libgcrypt20-dev
25841e1f0e2SPhilippe Mathieu-Daudé          - libgnutls28-dev
25941e1f0e2SPhilippe Mathieu-Daudé          - libgtk-3-dev
26041e1f0e2SPhilippe Mathieu-Daudé          - libiscsi-dev
26141e1f0e2SPhilippe Mathieu-Daudé          - liblttng-ust-dev
26241e1f0e2SPhilippe Mathieu-Daudé          - libncurses5-dev
26341e1f0e2SPhilippe Mathieu-Daudé          - libnfs-dev
26441e1f0e2SPhilippe Mathieu-Daudé          - libpixman-1-dev
26541e1f0e2SPhilippe Mathieu-Daudé          - libpng-dev
26641e1f0e2SPhilippe Mathieu-Daudé          - librados-dev
26741e1f0e2SPhilippe Mathieu-Daudé          - libsdl2-dev
26841e1f0e2SPhilippe Mathieu-Daudé          - libseccomp-dev
26941e1f0e2SPhilippe Mathieu-Daudé          - liburcu-dev
27041e1f0e2SPhilippe Mathieu-Daudé          - libusb-1.0-0-dev
27141e1f0e2SPhilippe Mathieu-Daudé          - libvdeplug-dev
27241e1f0e2SPhilippe Mathieu-Daudé          - libvte-2.91-dev
273345d7053SPaolo Bonzini          - ninja-build
274a53be666SVaibhav Jain          - clang-10
27541e1f0e2SPhilippe Mathieu-Daudé      env:
27641e1f0e2SPhilippe Mathieu-Daudé        - TEST_CMD="make check-unit"
277769897bdSThomas Huth        - CONFIG="--disable-containers --disable-tcg --enable-kvm --disable-tools
278769897bdSThomas Huth                  --enable-fdt=system --host-cc=clang --cxx=clang++"
2791de8e4c4SAlex Bennée        - UNRELIABLE=true
280