| # Copyright (c) 2017-2020 Petr Vorel <pvorel@suse.cz> |
| |
| sudo: required |
| language: c |
| services: |
| - docker |
| |
| matrix: |
| include: |
| # 32 bit build |
| - os: linux |
| env: DISTRO=debian:stable VARIANT=i386 |
| compiler: gcc |
| |
| # cross compilation builds |
| - os: linux |
| env: DISTRO=debian:stable VARIANT=cross-compile ARCH=ppc64el TREE=out MAKE_INSTALL=1 |
| compiler: powerpc64le-linux-gnu-gcc |
| |
| - os: linux |
| env: DISTRO=debian:stable VARIANT=cross-compile ARCH=arm64 TREE=out |
| compiler: aarch64-linux-gnu-gcc |
| |
| - os: linux |
| env: DISTRO=debian:stable VARIANT=cross-compile ARCH=s390x TREE=out |
| compiler: s390x-linux-gnu-gcc |
| |
| # musl (native) |
| - os: linux |
| # Message: WARNING: xsltproc: cannot process http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl |
| # doc/meson.build:70:1: ERROR: Problem encountered: Docs cannot be built: xsltproc does not work correctly |
| env: DISTRO=alpine:latest |
| compiler: gcc |
| |
| # build with minimal dependencies |
| - os: linux |
| env: DISTRO=debian:stable VARIANT=minimal TREE=out |
| compiler: clang |
| |
| # native non-intel |
| - os: linux |
| arch: ppc64le |
| compiler: gcc |
| env: DISTRO=debian:testing |
| |
| # other builds |
| - os: linux |
| env: DISTRO=fedora:rawhide MAKE_INSTALL=1 |
| compiler: clang |
| |
| - os: linux |
| env: DISTRO=centos:6 TREE=out |
| compiler: gcc |
| |
| - os: linux |
| env: DISTRO=debian:testing |
| compiler: gcc |
| |
| - os: linux |
| env: DISTRO=debian:oldstable |
| compiler: clang |
| |
| - os: linux |
| env: DISTRO=opensuse/tumbleweed |
| compiler: gcc |
| |
| - os: linux |
| env: DISTRO=opensuse/leap |
| compiler: gcc |
| |
| - os: linux |
| env: DISTRO=debian:oldstable |
| compiler: gcc |
| |
| - os: linux |
| env: DISTRO=debian:testing |
| compiler: clang |
| |
| - os: linux |
| env: DISTRO=ubuntu:eoan TREE=out |
| compiler: gcc |
| |
| - os: linux |
| env: DISTRO=ubuntu:xenial |
| compiler: gcc |
| |
| - os: linux |
| env: DISTRO=centos:latest |
| compiler: gcc |
| |
| before_install: |
| - df -hT |
| - DIR="/usr/src/ltp" |
| - printf "FROM $DISTRO\nRUN mkdir -p $DIR\nWORKDIR $DIR\nCOPY . $DIR\n" > Dockerfile |
| - cat Dockerfile |
| - docker build -t ltp . |
| |
| script: |
| - INSTALL="${DISTRO%%:*}" |
| - INSTALL="${INSTALL%%/*}" |
| - if [ "$MAKE_INSTALL" = 1 ]; then INSTALL_OPT="-i"; fi |
| - if [ ! "$TREE" ]; then TREE="in"; fi |
| - case $VARIANT in cross-compile*) BUILD="cross";; i386) BUILD="32";; *) BUILD="native";; esac |
| |
| # Tumbleweed requires newer Docker version |
| - > |
| if [ "${DISTRO//*\/}" = "tumbleweed" -o "$INSTALL" = "fedora" ]; then |
| curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - |
| sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" |
| sudo apt-get update |
| sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce |
| fi |
| |
| - docker run -t ltp /bin/sh -c "cd travis && ./$INSTALL.sh && if [ \"$VARIANT\" ]; then ARCH=\"$ARCH\" ./$INSTALL.$VARIANT.sh; fi && ../build.sh -o $TREE -t $BUILD -c $CC $INSTALL_OPT" |