xref: /openbmc/qemu/.travis.yml (revision db727a14)
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é
19692d162cSAlex Bennéeaddons:
20692d162cSAlex Bennée  apt:
21692d162cSAlex Bennée    packages:
2232265288SAlex Bennée      # Build dependencies
23692d162cSAlex Bennée      - libaio-dev
24692d162cSAlex Bennée      - libattr1-dev
25692d162cSAlex Bennée      - libbrlapi-dev
26692d162cSAlex Bennée      - libcap-ng-dev
2751f5c849SDaniel P. Berrangé      - libcacard-dev
28e769905eSThomas Huth      - libgcc-7-dev
293c7a8b41SThomas Huth      - libgnutls28-dev
30692d162cSAlex Bennée      - libgtk-3-dev
31692d162cSAlex Bennée      - libiscsi-dev
32692d162cSAlex Bennée      - liblttng-ust-dev
33692d162cSAlex Bennée      - libncurses5-dev
34d83414e1SMarc-André Lureau      - libnfs-dev
35692d162cSAlex Bennée      - libpixman-1-dev
363c7a8b41SThomas Huth      - libpng-dev
37692d162cSAlex Bennée      - librados-dev
38241e7955SThomas Huth      - libsdl2-dev
39241e7955SThomas Huth      - libsdl2-image-dev
40692d162cSAlex Bennée      - libseccomp-dev
41692d162cSAlex Bennée      - libspice-protocol-dev
42692d162cSAlex Bennée      - libspice-server-dev
43b10d49d7SPino Toscano      - libssh-dev
44692d162cSAlex Bennée      - liburcu-dev
45692d162cSAlex Bennée      - libusb-1.0-0-dev
467c1dd4d1SThomas Huth      - libvdeplug-dev
4795310576SAlex Bennée      - libvte-2.91-dev
483a678481SJuan Quintela      - libzstd-dev
49345d7053SPaolo Bonzini      - ninja-build
50692d162cSAlex Bennée      - sparse
51692d162cSAlex Bennée      - uuid-dev
5258a1e5b6SWainer dos Santos Moschetta      # Tests dependencies
5358a1e5b6SWainer dos Santos Moschetta      - genisoimage
54692d162cSAlex Bennée
55197be697SDaniel P. Berrangé
56cb4c2536SPranith Kumar# The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu
57cb4c2536SPranith Kumar# to prevent IRC notifications from forks. This was created using:
58cb4c2536SPranith Kumar# $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu"
5939d16d29SAlex Bennéenotifications:
6039d16d29SAlex Bennée  irc:
6139d16d29SAlex Bennée    channels:
62cb4c2536SPranith Kumar      - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
6339d16d29SAlex Bennée    on_success: change
6439d16d29SAlex Bennée    on_failure: always
65197be697SDaniel P. Berrangé
66197be697SDaniel P. Berrangé
67fe863ab9SAlex Bennéeenv:
68fe863ab9SAlex Bennée  global:
69bc4486fbSPaolo Bonzini    - SRC_DIR=".."
70bc4486fbSPaolo Bonzini    - BUILD_DIR="build"
71570f3c77SAlex Bennée    - BASE_CONFIG="--disable-docs --disable-tools"
724f46afd9SAlex Bennée    - TEST_BUILD_CMD=""
7305273a43SAlex Bennée    - TEST_CMD="make check V=1"
748c3daf97SAlex Bennée    # This is broadly a list of "mainline" softmmu targets which have support across the major distros
756e988880SAlex Bennée    - MAIN_SOFTMMU_TARGETS="aarch64-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
76bcfbf0d5SPhilippe Mathieu-Daudé    - CCACHE_SLOPPINESS="include_file_ctime,include_file_mtime"
77bcfbf0d5SPhilippe Mathieu-Daudé    - CCACHE_MAXSIZE=1G
782dbd39c2SPhilippe Mathieu-Daudé    - G_MESSAGES_DEBUG=error
79bcfbf0d5SPhilippe Mathieu-Daudé
80197be697SDaniel P. Berrangé
81cb021cfeSAlex Bennéegit:
82cb021cfeSAlex Bennée  # we want to do this ourselves
83cb021cfeSAlex Bennée  submodules: false
84197be697SDaniel P. Berrangé
85b3165c87SAlex Bennée# Common first phase for all steps
86fc424182SThomas Huth# We no longer use nproc to calculate jobs:
87fc424182SThomas Huth# https://travis-ci.community/t/nproc-reports-32-cores-on-arm64/5851
88b3165c87SAlex Bennéebefore_install:
89312995c2SThomas Huth  - if command -v ccache ; then ccache --zero-stats ; fi
90fc424182SThomas Huth  - export JOBS=3
910a7c0ae0SAlex Bennée  - echo "=== Using ${JOBS} simultaneous jobs ==="
92b3165c87SAlex Bennée
93b3165c87SAlex Bennée# Configure step - may be overridden
94b3165c87SAlex Bennéebefore_script:
95ebf2ff65SPhilippe Mathieu-Daudé  - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
96c47110d9SPaolo Bonzini  - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log meson-logs/meson-log.txt && exit 1; }
97b3165c87SAlex Bennée
98b3165c87SAlex Bennée# Main build & test - rarely overridden - controlled by TEST_CMD
99eebf2940SAlex Bennéescript:
1000a7c0ae0SAlex Bennée  - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
1014f46afd9SAlex Bennée  - |
1024f46afd9SAlex Bennée    if [ "$BUILD_RC" -eq 0 ] && [ -n "$TEST_BUILD_CMD" ]; then
1034f46afd9SAlex Bennée        ${TEST_BUILD_CMD} || BUILD_RC=$?
1044f46afd9SAlex Bennée    else
1054f46afd9SAlex Bennée        $(exit $BUILD_RC);
1064f46afd9SAlex Bennée    fi
107ec49faacSAlex Bennée  - |
108ec49faacSAlex Bennée    if [ "$BUILD_RC" -eq 0 ] ; then
109ec49faacSAlex Bennée        ${TEST_CMD} ;
110ec49faacSAlex Bennée    else
111ec49faacSAlex Bennée        $(exit $BUILD_RC);
112ec49faacSAlex Bennée    fi
113bcfbf0d5SPhilippe Mathieu-Daudéafter_script:
1144f8bde52SAlex Bennée  - df -h
115312995c2SThomas Huth  - if command -v ccache ; then ccache --show-stats ; fi
116197be697SDaniel P. Berrangé
117197be697SDaniel P. Berrangé
118321e6ea5SWainer dos Santos Moschettajobs:
119fe863ab9SAlex Bennée  include:
1203e094234SDaniel P. Berrangé
121097aebd8SPhilippe Mathieu-Daudé    - name: "[aarch64] GCC check-tcg"
122097aebd8SPhilippe Mathieu-Daudé      arch: arm64
123e769905eSThomas Huth      dist: focal
1249c5941a9SThomas Huth      addons:
1259c5941a9SThomas Huth        apt_packages:
1269c5941a9SThomas Huth          - libaio-dev
1279c5941a9SThomas Huth          - libattr1-dev
1289c5941a9SThomas Huth          - libbrlapi-dev
12951f5c849SDaniel P. Berrangé          - libcacard-dev
1309c5941a9SThomas Huth          - libcap-ng-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"
152aa2ea7adSPhilippe Mathieu-Daudé        - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS} --cxx=/bin/false"
1531de8e4c4SAlex Bennée        - UNRELIABLE=true
1549c5941a9SThomas Huth
155097aebd8SPhilippe Mathieu-Daudé    - name: "[ppc64] GCC check-tcg"
156097aebd8SPhilippe Mathieu-Daudé      arch: ppc64le
157e769905eSThomas 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
1659c5941a9SThomas Huth          - libgcrypt20-dev
1669c5941a9SThomas Huth          - libgnutls28-dev
1679c5941a9SThomas Huth          - libgtk-3-dev
1689c5941a9SThomas Huth          - libiscsi-dev
1699c5941a9SThomas Huth          - liblttng-ust-dev
1709c5941a9SThomas Huth          - libncurses5-dev
1719c5941a9SThomas Huth          - libnfs-dev
1729c5941a9SThomas Huth          - libpixman-1-dev
1739c5941a9SThomas Huth          - libpng-dev
1749c5941a9SThomas Huth          - librados-dev
1759c5941a9SThomas Huth          - libsdl2-dev
1769c5941a9SThomas Huth          - libseccomp-dev
1779c5941a9SThomas Huth          - liburcu-dev
1789c5941a9SThomas Huth          - libusb-1.0-0-dev
1799c5941a9SThomas Huth          - libvdeplug-dev
1809c5941a9SThomas Huth          - libvte-2.91-dev
181345d7053SPaolo Bonzini          - ninja-build
18258a1e5b6SWainer dos Santos Moschetta          # Tests dependencies
18358a1e5b6SWainer dos Santos Moschetta          - genisoimage
1849c5941a9SThomas Huth      env:
1859c5941a9SThomas Huth        - TEST_CMD="make check check-tcg V=1"
186daee97f6SAlex Bennée        - CONFIG="--disable-containers --target-list=ppc64-softmmu,ppc64le-linux-user"
1879c5941a9SThomas Huth
188097aebd8SPhilippe Mathieu-Daudé    - name: "[s390x] GCC check-tcg"
189097aebd8SPhilippe Mathieu-Daudé      arch: s390x
190e7b3b095SThomas Huth      dist: focal
1919c5941a9SThomas Huth      addons:
1929c5941a9SThomas Huth        apt_packages:
1939c5941a9SThomas Huth          - libaio-dev
1949c5941a9SThomas Huth          - libattr1-dev
1959c5941a9SThomas Huth          - libbrlapi-dev
19651f5c849SDaniel P. Berrangé          - libcacard-dev
1979c5941a9SThomas Huth          - libcap-ng-dev
1989c5941a9SThomas Huth          - libgcrypt20-dev
1999c5941a9SThomas Huth          - libgnutls28-dev
2009c5941a9SThomas Huth          - libgtk-3-dev
2019c5941a9SThomas Huth          - libiscsi-dev
2029c5941a9SThomas Huth          - liblttng-ust-dev
2039c5941a9SThomas Huth          - libncurses5-dev
2049c5941a9SThomas Huth          - libnfs-dev
2059c5941a9SThomas Huth          - libpixman-1-dev
2069c5941a9SThomas Huth          - libpng-dev
2079c5941a9SThomas Huth          - librados-dev
2089c5941a9SThomas Huth          - libsdl2-dev
2099c5941a9SThomas Huth          - libseccomp-dev
2109c5941a9SThomas Huth          - liburcu-dev
2119c5941a9SThomas Huth          - libusb-1.0-0-dev
2129c5941a9SThomas Huth          - libvdeplug-dev
2139c5941a9SThomas Huth          - libvte-2.91-dev
214345d7053SPaolo Bonzini          - ninja-build
21558a1e5b6SWainer dos Santos Moschetta          # Tests dependencies
21658a1e5b6SWainer dos Santos Moschetta          - genisoimage
2179c5941a9SThomas Huth      env:
2189c5941a9SThomas Huth        - TEST_CMD="make check check-tcg V=1"
2199c5941a9SThomas Huth        - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS},s390x-linux-user"
2201de8e4c4SAlex Bennée        - UNRELIABLE=true
22131c8cc4fSThomas Huth      script:
22231c8cc4fSThomas Huth        - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
22331c8cc4fSThomas Huth        - |
22431c8cc4fSThomas Huth          if [ "$BUILD_RC" -eq 0 ] ; then
225882084a0SAkihiko Odaki              mv pc-bios/s390-ccw/*.img qemu-bundle/usr/local/share/qemu ;
22631c8cc4fSThomas Huth              ${TEST_CMD} ;
22731c8cc4fSThomas Huth          else
22831c8cc4fSThomas Huth              $(exit $BUILD_RC);
22931c8cc4fSThomas Huth          fi
23061ac3dccSPhilippe Mathieu-Daudé
231100a5efbSThomas Huth    - name: "[s390x] GCC (other-softmmu)"
232100a5efbSThomas Huth      arch: s390x
233e7b3b095SThomas Huth      dist: focal
234100a5efbSThomas Huth      addons:
235100a5efbSThomas Huth        apt_packages:
236100a5efbSThomas Huth          - libaio-dev
237100a5efbSThomas Huth          - libattr1-dev
23851f5c849SDaniel P. Berrangé          - libcacard-dev
239100a5efbSThomas Huth          - libcap-ng-dev
240100a5efbSThomas Huth          - libgnutls28-dev
241100a5efbSThomas Huth          - libiscsi-dev
242100a5efbSThomas Huth          - liblttng-ust-dev
243100a5efbSThomas Huth          - liblzo2-dev
244100a5efbSThomas Huth          - libncurses-dev
245100a5efbSThomas Huth          - libnfs-dev
246100a5efbSThomas Huth          - libpixman-1-dev
247100a5efbSThomas Huth          - libsdl2-dev
248100a5efbSThomas Huth          - libsdl2-image-dev
249100a5efbSThomas Huth          - libseccomp-dev
250100a5efbSThomas Huth          - libsnappy-dev
251100a5efbSThomas Huth          - libzstd-dev
252100a5efbSThomas Huth          - nettle-dev
253100a5efbSThomas Huth          - xfslibs-dev
254345d7053SPaolo Bonzini          - ninja-build
255100a5efbSThomas Huth          # Tests dependencies
256100a5efbSThomas Huth          - genisoimage
257100a5efbSThomas Huth      env:
258100a5efbSThomas Huth        - CONFIG="--disable-containers --audio-drv-list=sdl --disable-user
259100a5efbSThomas Huth                  --target-list-exclude=${MAIN_SOFTMMU_TARGETS}"
260*db727a14SDr. David Alan Gilbert
261100a5efbSThomas Huth    - name: "[s390x] GCC (user)"
262100a5efbSThomas Huth      arch: s390x
263e7b3b095SThomas Huth      dist: focal
264100a5efbSThomas Huth      addons:
265100a5efbSThomas Huth        apt_packages:
266100a5efbSThomas Huth          - libgcrypt20-dev
267e7b3b095SThomas Huth          - libglib2.0-dev
268100a5efbSThomas Huth          - libgnutls28-dev
269345d7053SPaolo Bonzini          - ninja-build
270100a5efbSThomas Huth      env:
271100a5efbSThomas Huth        - CONFIG="--disable-containers --disable-system"
272*db727a14SDr. David Alan Gilbert
273aae8b87eSThomas Huth    - name: "[s390x] Clang (disable-tcg)"
27441e1f0e2SPhilippe Mathieu-Daudé      arch: s390x
275e7b3b095SThomas Huth      dist: focal
276aae8b87eSThomas Huth      compiler: clang
27741e1f0e2SPhilippe Mathieu-Daudé      addons:
27841e1f0e2SPhilippe Mathieu-Daudé        apt_packages:
27941e1f0e2SPhilippe Mathieu-Daudé          - libaio-dev
28041e1f0e2SPhilippe Mathieu-Daudé          - libattr1-dev
28141e1f0e2SPhilippe Mathieu-Daudé          - libbrlapi-dev
28251f5c849SDaniel P. Berrangé          - libcacard-dev
28341e1f0e2SPhilippe Mathieu-Daudé          - libcap-ng-dev
28441e1f0e2SPhilippe Mathieu-Daudé          - libgcrypt20-dev
28541e1f0e2SPhilippe Mathieu-Daudé          - libgnutls28-dev
28641e1f0e2SPhilippe Mathieu-Daudé          - libgtk-3-dev
28741e1f0e2SPhilippe Mathieu-Daudé          - libiscsi-dev
28841e1f0e2SPhilippe Mathieu-Daudé          - liblttng-ust-dev
28941e1f0e2SPhilippe Mathieu-Daudé          - libncurses5-dev
29041e1f0e2SPhilippe Mathieu-Daudé          - libnfs-dev
29141e1f0e2SPhilippe Mathieu-Daudé          - libpixman-1-dev
29241e1f0e2SPhilippe Mathieu-Daudé          - libpng-dev
29341e1f0e2SPhilippe Mathieu-Daudé          - librados-dev
29441e1f0e2SPhilippe Mathieu-Daudé          - libsdl2-dev
29541e1f0e2SPhilippe Mathieu-Daudé          - libseccomp-dev
29641e1f0e2SPhilippe Mathieu-Daudé          - liburcu-dev
29741e1f0e2SPhilippe Mathieu-Daudé          - libusb-1.0-0-dev
29841e1f0e2SPhilippe Mathieu-Daudé          - libvdeplug-dev
29941e1f0e2SPhilippe Mathieu-Daudé          - libvte-2.91-dev
300345d7053SPaolo Bonzini          - ninja-build
30141e1f0e2SPhilippe Mathieu-Daudé      env:
30241e1f0e2SPhilippe Mathieu-Daudé        - TEST_CMD="make check-unit"
303aae8b87eSThomas Huth        - CONFIG="--disable-containers --disable-tcg --enable-kvm
304aae8b87eSThomas Huth                  --disable-tools --host-cc=clang --cxx=clang++"
3051de8e4c4SAlex Bennée        - UNRELIABLE=true
306