qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

.travis.yml (8194B)


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