xref: /qemu/.travis.yml (revision 5e8881c2)
1321e6ea5SWainer dos Santos Moschettaos: linux
266163bc7SThomas Huthdist: jammy
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)
1066163bc7SThomas Huth  # - OS distribution (e.g. "jammy" for Linux)
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
15197be697SDaniel P. Berrangé
16197be697SDaniel P. Berrangé
17cb4c2536SPranith Kumar# The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu
18cb4c2536SPranith Kumar# to prevent IRC notifications from forks. This was created using:
19cb4c2536SPranith Kumar# $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu"
2039d16d29SAlex Bennéenotifications:
2139d16d29SAlex Bennée  irc:
2239d16d29SAlex Bennée    channels:
23cb4c2536SPranith Kumar      - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
2439d16d29SAlex Bennée    on_success: change
2539d16d29SAlex Bennée    on_failure: always
26197be697SDaniel P. Berrangé
27197be697SDaniel P. Berrangé
28fe863ab9SAlex Bennéeenv:
29fe863ab9SAlex Bennée  global:
30bc4486fbSPaolo Bonzini    - SRC_DIR=".."
31bc4486fbSPaolo Bonzini    - BUILD_DIR="build"
32570f3c77SAlex Bennée    - BASE_CONFIG="--disable-docs --disable-tools"
334f46afd9SAlex Bennée    - TEST_BUILD_CMD=""
3405273a43SAlex Bennée    - TEST_CMD="make check V=1"
3527703590SPhilippe Mathieu-Daudé    # This is broadly a list of "mainline" system targets which have support across the major distros
36aebe0a85SPhilippe Mathieu-Daudé    - MAIN_SYSTEM_TARGETS="aarch64-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
37bcfbf0d5SPhilippe Mathieu-Daudé    - CCACHE_SLOPPINESS="include_file_ctime,include_file_mtime"
38bcfbf0d5SPhilippe Mathieu-Daudé    - CCACHE_MAXSIZE=1G
392dbd39c2SPhilippe Mathieu-Daudé    - G_MESSAGES_DEBUG=error
40bcfbf0d5SPhilippe Mathieu-Daudé
41197be697SDaniel P. Berrangé
42cb021cfeSAlex Bennéegit:
43cb021cfeSAlex Bennée  # we want to do this ourselves
44cb021cfeSAlex Bennée  submodules: false
45197be697SDaniel P. Berrangé
46b3165c87SAlex Bennée# Common first phase for all steps
47fc424182SThomas Huth# We no longer use nproc to calculate jobs:
48fc424182SThomas Huth# https://travis-ci.community/t/nproc-reports-32-cores-on-arm64/5851
49b3165c87SAlex Bennéebefore_install:
50312995c2SThomas Huth  - if command -v ccache ; then ccache --zero-stats ; fi
51fc424182SThomas Huth  - export JOBS=3
520a7c0ae0SAlex Bennée  - echo "=== Using ${JOBS} simultaneous jobs ==="
53b3165c87SAlex Bennée
54b3165c87SAlex Bennée# Configure step - may be overridden
55b3165c87SAlex Bennéebefore_script:
56ebf2ff65SPhilippe Mathieu-Daudé  - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
57c47110d9SPaolo Bonzini  - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log meson-logs/meson-log.txt && exit 1; }
58b3165c87SAlex Bennée
59b3165c87SAlex Bennée# Main build & test - rarely overridden - controlled by TEST_CMD
60eebf2940SAlex Bennéescript:
610a7c0ae0SAlex Bennée  - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
624f46afd9SAlex Bennée  - |
634f46afd9SAlex Bennée    if [ "$BUILD_RC" -eq 0 ] && [ -n "$TEST_BUILD_CMD" ]; then
644f46afd9SAlex Bennée        ${TEST_BUILD_CMD} || BUILD_RC=$?
654f46afd9SAlex Bennée    else
664f46afd9SAlex Bennée        $(exit $BUILD_RC);
674f46afd9SAlex Bennée    fi
68ec49faacSAlex Bennée  - |
69ec49faacSAlex Bennée    if [ "$BUILD_RC" -eq 0 ] ; then
70ec49faacSAlex Bennée        ${TEST_CMD} ;
71ec49faacSAlex Bennée    else
72ec49faacSAlex Bennée        $(exit $BUILD_RC);
73ec49faacSAlex Bennée    fi
74bcfbf0d5SPhilippe Mathieu-Daudéafter_script:
754f8bde52SAlex Bennée  - df -h
76312995c2SThomas Huth  - if command -v ccache ; then ccache --show-stats ; fi
77197be697SDaniel P. Berrangé
78197be697SDaniel P. Berrangé
79321e6ea5SWainer dos Santos Moschettajobs:
80fe863ab9SAlex Bennée  include:
813e094234SDaniel P. Berrangé
82097aebd8SPhilippe Mathieu-Daudé    - name: "[aarch64] GCC check-tcg"
83097aebd8SPhilippe Mathieu-Daudé      arch: arm64
849c5941a9SThomas Huth      addons:
859c5941a9SThomas Huth        apt_packages:
869c5941a9SThomas Huth          - libaio-dev
879c5941a9SThomas Huth          - libattr1-dev
889c5941a9SThomas Huth          - libbrlapi-dev
8951f5c849SDaniel P. Berrangé          - libcacard-dev
909c5941a9SThomas Huth          - libcap-ng-dev
91769897bdSThomas Huth          - libfdt-dev
929c5941a9SThomas Huth          - libgcrypt20-dev
939c5941a9SThomas Huth          - libgnutls28-dev
949c5941a9SThomas Huth          - libgtk-3-dev
959c5941a9SThomas Huth          - libiscsi-dev
969c5941a9SThomas Huth          - liblttng-ust-dev
979c5941a9SThomas Huth          - libncurses5-dev
989c5941a9SThomas Huth          - libnfs-dev
999c5941a9SThomas Huth          - libpixman-1-dev
1009c5941a9SThomas Huth          - libpng-dev
1019c5941a9SThomas Huth          - librados-dev
1029c5941a9SThomas Huth          - libsdl2-dev
1039c5941a9SThomas Huth          - libseccomp-dev
1049c5941a9SThomas Huth          - liburcu-dev
1059c5941a9SThomas Huth          - libusb-1.0-0-dev
1069c5941a9SThomas Huth          - libvdeplug-dev
1079c5941a9SThomas Huth          - libvte-2.91-dev
108345d7053SPaolo Bonzini          - ninja-build
109*5e8881c2SThomas Huth          - python3-tomli
11058a1e5b6SWainer dos Santos Moschetta          # Tests dependencies
11158a1e5b6SWainer dos Santos Moschetta          - genisoimage
1129c5941a9SThomas Huth      env:
1139c5941a9SThomas Huth        - TEST_CMD="make check check-tcg V=1"
114769897bdSThomas Huth        - CONFIG="--disable-containers --enable-fdt=system
115aebe0a85SPhilippe Mathieu-Daudé                  --target-list=${MAIN_SYSTEM_TARGETS} --cxx=/bin/false"
1169c5941a9SThomas Huth
1174d6ae2dfSThomas Huth    - name: "[ppc64] Clang check-tcg"
118097aebd8SPhilippe Mathieu-Daudé      arch: ppc64le
1194d6ae2dfSThomas Huth      compiler: clang
1209c5941a9SThomas Huth      addons:
1219c5941a9SThomas Huth        apt_packages:
1229c5941a9SThomas Huth          - libaio-dev
1239c5941a9SThomas Huth          - libattr1-dev
1249c5941a9SThomas Huth          - libbrlapi-dev
12551f5c849SDaniel P. Berrangé          - libcacard-dev
1269c5941a9SThomas Huth          - libcap-ng-dev
127769897bdSThomas Huth          - libfdt-dev
1289c5941a9SThomas Huth          - libgcrypt20-dev
1299c5941a9SThomas Huth          - libgnutls28-dev
1309c5941a9SThomas Huth          - libgtk-3-dev
1319c5941a9SThomas Huth          - libiscsi-dev
1329c5941a9SThomas Huth          - liblttng-ust-dev
1339c5941a9SThomas Huth          - libncurses5-dev
1349c5941a9SThomas Huth          - libnfs-dev
1359c5941a9SThomas Huth          - libpixman-1-dev
1369c5941a9SThomas Huth          - libpng-dev
1379c5941a9SThomas Huth          - librados-dev
1389c5941a9SThomas Huth          - libsdl2-dev
1399c5941a9SThomas Huth          - libseccomp-dev
1409c5941a9SThomas Huth          - liburcu-dev
1419c5941a9SThomas Huth          - libusb-1.0-0-dev
1429c5941a9SThomas Huth          - libvdeplug-dev
1439c5941a9SThomas Huth          - libvte-2.91-dev
144345d7053SPaolo Bonzini          - ninja-build
145*5e8881c2SThomas Huth          - python3-tomli
14658a1e5b6SWainer dos Santos Moschetta          # Tests dependencies
14758a1e5b6SWainer dos Santos Moschetta          - genisoimage
1489c5941a9SThomas Huth      env:
1499c5941a9SThomas Huth        - TEST_CMD="make check check-tcg V=1"
150769897bdSThomas Huth        - CONFIG="--disable-containers --enable-fdt=system
151769897bdSThomas Huth                  --target-list=ppc64-softmmu,ppc64le-linux-user"
1529c5941a9SThomas Huth
153097aebd8SPhilippe Mathieu-Daudé    - name: "[s390x] GCC check-tcg"
154097aebd8SPhilippe Mathieu-Daudé      arch: s390x
1559c5941a9SThomas Huth      addons:
1569c5941a9SThomas Huth        apt_packages:
1579c5941a9SThomas Huth          - libaio-dev
1589c5941a9SThomas Huth          - libattr1-dev
1599c5941a9SThomas Huth          - libbrlapi-dev
16051f5c849SDaniel P. Berrangé          - libcacard-dev
1619c5941a9SThomas Huth          - libcap-ng-dev
162769897bdSThomas Huth          - libfdt-dev
1639c5941a9SThomas Huth          - libgcrypt20-dev
1649c5941a9SThomas Huth          - libgnutls28-dev
1659c5941a9SThomas Huth          - libgtk-3-dev
1669c5941a9SThomas Huth          - libiscsi-dev
1679c5941a9SThomas Huth          - liblttng-ust-dev
1689c5941a9SThomas Huth          - libncurses5-dev
1699c5941a9SThomas Huth          - libnfs-dev
1709c5941a9SThomas Huth          - libpixman-1-dev
1719c5941a9SThomas Huth          - libpng-dev
1729c5941a9SThomas Huth          - librados-dev
1739c5941a9SThomas Huth          - libsdl2-dev
1749c5941a9SThomas Huth          - libseccomp-dev
1759c5941a9SThomas Huth          - liburcu-dev
1769c5941a9SThomas Huth          - libusb-1.0-0-dev
1779c5941a9SThomas Huth          - libvdeplug-dev
1789c5941a9SThomas Huth          - libvte-2.91-dev
179345d7053SPaolo Bonzini          - ninja-build
180*5e8881c2SThomas Huth          - python3-tomli
18158a1e5b6SWainer dos Santos Moschetta          # Tests dependencies
18258a1e5b6SWainer dos Santos Moschetta          - genisoimage
1839c5941a9SThomas Huth      env:
1849c5941a9SThomas Huth        - TEST_CMD="make check check-tcg V=1"
1850235540bSThomas Huth        - CONFIG="--disable-containers
1860235540bSThomas Huth            --target-list=hppa-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
18731c8cc4fSThomas Huth      script:
18831c8cc4fSThomas Huth        - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
18931c8cc4fSThomas Huth        - |
19031c8cc4fSThomas Huth          if [ "$BUILD_RC" -eq 0 ] ; then
191882084a0SAkihiko Odaki              mv pc-bios/s390-ccw/*.img qemu-bundle/usr/local/share/qemu ;
19231c8cc4fSThomas Huth              ${TEST_CMD} ;
19331c8cc4fSThomas Huth          else
19431c8cc4fSThomas Huth              $(exit $BUILD_RC);
19531c8cc4fSThomas Huth          fi
19661ac3dccSPhilippe Mathieu-Daudé
1974d6ae2dfSThomas Huth    - name: "[s390x] Clang (other-system)"
198100a5efbSThomas Huth      arch: s390x
1994d6ae2dfSThomas Huth      compiler: clang
200100a5efbSThomas Huth      addons:
201100a5efbSThomas Huth        apt_packages:
202100a5efbSThomas Huth          - libaio-dev
203100a5efbSThomas Huth          - libattr1-dev
20451f5c849SDaniel P. Berrangé          - libcacard-dev
205100a5efbSThomas Huth          - libcap-ng-dev
206769897bdSThomas Huth          - libfdt-dev
207100a5efbSThomas Huth          - libgnutls28-dev
208100a5efbSThomas Huth          - libiscsi-dev
209100a5efbSThomas Huth          - liblttng-ust-dev
210100a5efbSThomas Huth          - liblzo2-dev
211100a5efbSThomas Huth          - libncurses-dev
212100a5efbSThomas Huth          - libnfs-dev
213100a5efbSThomas Huth          - libpixman-1-dev
214100a5efbSThomas Huth          - libsdl2-dev
215100a5efbSThomas Huth          - libsdl2-image-dev
216100a5efbSThomas Huth          - libseccomp-dev
217100a5efbSThomas Huth          - libsnappy-dev
218100a5efbSThomas Huth          - libzstd-dev
219100a5efbSThomas Huth          - nettle-dev
220345d7053SPaolo Bonzini          - ninja-build
221*5e8881c2SThomas Huth          - python3-tomli
222100a5efbSThomas Huth          # Tests dependencies
223100a5efbSThomas Huth          - genisoimage
224100a5efbSThomas Huth      env:
2250235540bSThomas Huth        - CONFIG="--disable-containers --audio-drv-list=sdl --disable-user
2260235540bSThomas Huth            --target-list=arm-softmmu,avr-softmmu,microblaze-softmmu,sh4eb-softmmu,sparc64-softmmu,xtensaeb-softmmu"
227db727a14SDr. David Alan Gilbert
228100a5efbSThomas Huth    - name: "[s390x] GCC (user)"
229100a5efbSThomas Huth      arch: s390x
230100a5efbSThomas Huth      addons:
231100a5efbSThomas Huth        apt_packages:
232100a5efbSThomas Huth          - libgcrypt20-dev
233e7b3b095SThomas Huth          - libglib2.0-dev
234100a5efbSThomas Huth          - libgnutls28-dev
235345d7053SPaolo Bonzini          - ninja-build
236e23130f9SVaibhav Jain          - flex
237e23130f9SVaibhav Jain          - bison
238*5e8881c2SThomas Huth          - python3-tomli
239100a5efbSThomas Huth      env:
2400235540bSThomas Huth        - TEST_CMD="make check check-tcg V=1"
241100a5efbSThomas Huth        - CONFIG="--disable-containers --disable-system"
242db727a14SDr. David Alan Gilbert
243aae8b87eSThomas Huth    - name: "[s390x] Clang (disable-tcg)"
24441e1f0e2SPhilippe Mathieu-Daudé      arch: s390x
24566163bc7SThomas Huth      compiler: clang
24641e1f0e2SPhilippe Mathieu-Daudé      addons:
24741e1f0e2SPhilippe Mathieu-Daudé        apt_packages:
24841e1f0e2SPhilippe Mathieu-Daudé          - libaio-dev
24941e1f0e2SPhilippe Mathieu-Daudé          - libattr1-dev
25041e1f0e2SPhilippe Mathieu-Daudé          - libbrlapi-dev
25151f5c849SDaniel P. Berrangé          - libcacard-dev
25241e1f0e2SPhilippe Mathieu-Daudé          - libcap-ng-dev
253769897bdSThomas Huth          - libfdt-dev
25441e1f0e2SPhilippe Mathieu-Daudé          - libgcrypt20-dev
25541e1f0e2SPhilippe Mathieu-Daudé          - libgnutls28-dev
25641e1f0e2SPhilippe Mathieu-Daudé          - libgtk-3-dev
25741e1f0e2SPhilippe Mathieu-Daudé          - libiscsi-dev
25841e1f0e2SPhilippe Mathieu-Daudé          - liblttng-ust-dev
25941e1f0e2SPhilippe Mathieu-Daudé          - libncurses5-dev
26041e1f0e2SPhilippe Mathieu-Daudé          - libnfs-dev
26141e1f0e2SPhilippe Mathieu-Daudé          - libpixman-1-dev
26241e1f0e2SPhilippe Mathieu-Daudé          - libpng-dev
26341e1f0e2SPhilippe Mathieu-Daudé          - librados-dev
26441e1f0e2SPhilippe Mathieu-Daudé          - libsdl2-dev
26541e1f0e2SPhilippe Mathieu-Daudé          - libseccomp-dev
26641e1f0e2SPhilippe Mathieu-Daudé          - liburcu-dev
26741e1f0e2SPhilippe Mathieu-Daudé          - libusb-1.0-0-dev
26841e1f0e2SPhilippe Mathieu-Daudé          - libvdeplug-dev
26941e1f0e2SPhilippe Mathieu-Daudé          - libvte-2.91-dev
270345d7053SPaolo Bonzini          - ninja-build
271*5e8881c2SThomas Huth          - python3-tomli
27241e1f0e2SPhilippe Mathieu-Daudé      env:
27341e1f0e2SPhilippe Mathieu-Daudé        - TEST_CMD="make check-unit"
274769897bdSThomas Huth        - CONFIG="--disable-containers --disable-tcg --enable-kvm --disable-tools
275769897bdSThomas Huth                  --enable-fdt=system --host-cc=clang --cxx=clang++"
276