blob: 51efa22e37bbf76c2cd4eeaa1d2e17dd73641441 [file] [log] [blame]
Petr Vorel24519c12018-12-18 10:31:51 +01001sudo: required
Petr Vorel1ed52332017-01-11 13:42:29 +01002language: c
Petr Vorel24519c12018-12-18 10:31:51 +01003services:
4 - docker
Petr Vorel72a23be2018-01-26 19:51:16 +01005
Petr Vorelb6684332017-01-13 10:07:05 +01006matrix:
7 include:
Petr Vorel24519c12018-12-18 10:31:51 +01008 # 32 bit build
Petr Vorelb6684332017-01-13 10:07:05 +01009 - os: linux
Petr Vorel24519c12018-12-18 10:31:51 +010010 env: DISTRO=debian:stable VARIANT=i386
11 compiler: gcc
Petr Vorelb6684332017-01-13 10:07:05 +010012
Petr Vorel24519c12018-12-18 10:31:51 +010013 # cross compilation builds
Petr Vorelb6684332017-01-13 10:07:05 +010014 - os: linux
Petr Vorel24519c12018-12-18 10:31:51 +010015 env: DISTRO=debian:stable VARIANT=cross-compile.ppc64le TREE="out"
Petr Vorel72a23be2018-01-26 19:51:16 +010016 compiler: powerpc64le-linux-gnu-gcc
Petr Vorelc24cbc12019-03-26 12:35:27 +010017
Petr Vorel24519c12018-12-18 10:31:51 +010018 - os: linux
19 env: DISTRO=debian:stable VARIANT=cross-compile.aarch64 TREE="out"
20 compiler: aarch64-linux-gnu-gcc
Petr Vorel72a23be2018-01-26 19:51:16 +010021
Petr Vorel9ad0ef532019-12-10 21:13:19 +010022 # musl (native)
23 - os: linux
24 # Message: WARNING: xsltproc: cannot process http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl
25 # doc/meson.build:70:1: ERROR: Problem encountered: Docs cannot be built: xsltproc does not work correctly
26 env: DISTRO=alpine:latest
27 compiler: gcc
28
Petr Vorel24519c12018-12-18 10:31:51 +010029 # build with minimal dependencies
30 - os: linux
31 env: DISTRO=debian:stable VARIANT=minimal TREE="out"
32 compiler: clang
33
Clemens Famulla-Conrad3ee0f482019-11-18 11:57:35 +010034 # native non-intel
35 - os: linux
36 arch: ppc64le
37 compiler: gcc
38 env: DISTRO=debian:testing
39
40 - os: linux
41 arch: s390x
42 compiler: gcc
43 env: DISTRO=debian:stable
44
Petr Vorelc24cbc12019-03-26 12:35:27 +010045 # other builds
46 - os: linux
47 env: DISTRO=fedora:latest
48 compiler: clang
49
50 - os: linux
51 env: DISTRO=centos:6 TREE="out"
52 compiler: gcc
53
Petr Vorel24519c12018-12-18 10:31:51 +010054 - os: linux
55 env: DISTRO=debian:testing
56 compiler: gcc
Petr Vorelc24cbc12019-03-26 12:35:27 +010057
Petr Vorel24519c12018-12-18 10:31:51 +010058 - os: linux
Petr Vorelc24cbc12019-03-26 12:35:27 +010059 env: DISTRO=debian:oldstable
Petr Vorel24519c12018-12-18 10:31:51 +010060 compiler: clang
61
62 - os: linux
Petr Vorel13e9a4a2019-11-21 15:16:48 +010063 env: DISTRO=opensuse/tumbleweed
64 compiler: gcc
65
66 - os: linux
Petr Vorelc24cbc12019-03-26 12:35:27 +010067 env: DISTRO=opensuse/leap
68 compiler: gcc
69
70 - os: linux
Petr Vorel24519c12018-12-18 10:31:51 +010071 env: DISTRO=debian:oldstable
72 compiler: gcc
Petr Vorelc24cbc12019-03-26 12:35:27 +010073
Petr Vorel24519c12018-12-18 10:31:51 +010074 - os: linux
Petr Vorelc24cbc12019-03-26 12:35:27 +010075 env: DISTRO=debian:testing
Petr Vorel24519c12018-12-18 10:31:51 +010076 compiler: clang
77
78 - os: linux
79 env: DISTRO=ubuntu:latest TREE="out"
80 compiler: gcc
81
82 - os: linux
83 env: DISTRO=ubuntu:xenial
84 compiler: gcc
85
86 - os: linux
Petr Vorel24519c12018-12-18 10:31:51 +010087 env: DISTRO=centos:latest
88 compiler: gcc
Petr Vorel1ed52332017-01-11 13:42:29 +010089
Petr Vorel3d43c232017-11-27 15:45:53 +010090before_install:
Petr Vorel24519c12018-12-18 10:31:51 +010091 - DIR="/usr/src/ltp"
92 - printf "FROM $DISTRO\nRUN mkdir -p $DIR\nWORKDIR $DIR\nCOPY . $DIR\n" > Dockerfile
93 - echo "cat Dockerfile"; cat Dockerfile; echo "=====" # FIXME: debug
94 - docker build -t ltp .
Petr Vorel2b103e42018-07-04 18:10:36 +020095
Petr Vorel24519c12018-12-18 10:31:51 +010096script:
97 - INSTALL="${DISTRO%%:*}"
Petr Vorele478b942019-03-01 11:29:28 +010098 - INSTALL="${INSTALL%%/*}"
Petr Vorel24519c12018-12-18 10:31:51 +010099 - if [ ! "$TREE" ]; then TREE="in"; fi
100 - case $VARIANT in cross-compile*) BUILD="cross";; i386) BUILD="32";; *) BUILD="native";; esac
Clemens Famulla-Conrad3ee0f482019-11-18 11:57:35 +0100101 - docker run -t ltp /bin/sh -c "cd travis && ./$INSTALL.sh && if [ \"$VARIANT\" ]; then ./$INSTALL.$VARIANT.sh; fi && ../build.sh -o $TREE -t $BUILD -c $CC"