blob: f3ae7278c21f9a5245e56f0b26fa8bcdcfd5d3d2 [file] [log] [blame]
Petr Vorel1ed52332017-01-11 13:42:29 +01001language: c
2
Petr Vorel72a23be2018-01-26 19:51:16 +01003# BUILD="native": native builds
4# BUILD="32": 32-bit builds
5# BUILD="cross": cross compile build
6# TREE="out": out-of-tree build
7# NO INSTALL_PACKAGES variable: build with minimal dependencies
8
Petr Vorelb6684332017-01-13 10:07:05 +01009matrix:
10 include:
Petr Vorel72a23be2018-01-26 19:51:16 +010011 ### native builds ###
Petr Vorelb6684332017-01-13 10:07:05 +010012 - os: linux
Petr Vorelb9e89182017-11-30 19:05:14 +010013 env: BUILD="native" INSTALL_PACKAGES="$BUILD"
Petr Vorelb6684332017-01-13 10:07:05 +010014 compiler: gcc-5
15 addons:
16 apt:
17 sources: ['ubuntu-toolchain-r-test']
18 packages: ['gcc-5']
19
20 - os: linux
Petr Vorel72a23be2018-01-26 19:51:16 +010021 env: BUILD="native" TREE="out" INSTALL_PACKAGES="$BUILD"
Petr Vorel1ac620a2017-11-30 10:59:46 +010022 compiler: gcc-7
Petr Vorelb6684332017-01-13 10:07:05 +010023 addons:
24 apt:
Petr Vorel1ac620a2017-11-30 10:59:46 +010025 sources: ['ubuntu-toolchain-r-test']
26 packages: ['gcc-7']
Petr Vorelb6684332017-01-13 10:07:05 +010027
28 - os: linux
Petr Vorel72a23be2018-01-26 19:51:16 +010029 env: BUILD="native" TREE="out"
Petr Vorelb9e89182017-11-30 19:05:14 +010030 compiler: clang-4.0
31 addons:
32 apt:
33 sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-4.0']
34 packages: ['clang-4.0']
35
36 - os: linux
37 env: BUILD="native" INSTALL_PACKAGES="$BUILD"
38 compiler: clang-5.0
39 addons:
40 apt:
41 sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-5.0']
42 packages: ['clang-5.0']
43
Petr Vorelb9e89182017-11-30 19:05:14 +010044 - os: linux
Petr Vorel3d43c232017-11-27 15:45:53 +010045 env: BUILD="native"
Petr Vorelb6684332017-01-13 10:07:05 +010046 compiler: clang-3.9
47 addons:
48 apt:
Petr Vorel1ac620a2017-11-30 10:59:46 +010049 sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-3.9']
Petr Vorelb6684332017-01-13 10:07:05 +010050 packages: ['clang-3.9']
51
Petr Vorel72a23be2018-01-26 19:51:16 +010052 ### 32-bit builds ###
Petr Vorel1ac620a2017-11-30 10:59:46 +010053 - os: linux
Petr Vorelb9e89182017-11-30 19:05:14 +010054 env: BUILD="32" INSTALL_PACKAGES="$BUILD"
Petr Vorel3d43c232017-11-27 15:45:53 +010055 compiler: gcc-4.9
56 addons:
57 apt:
58 sources: ['ubuntu-toolchain-r-test']
59 packages: ['gcc-4.9', 'gcc-4.9-multilib', 'linux-libc-dev:i386']
60
61 - os: linux
Petr Vorel72a23be2018-01-26 19:51:16 +010062 env: BUILD="32" TREE="out" INSTALL_PACKAGES="$BUILD"
Petr Vorel3d43c232017-11-27 15:45:53 +010063 compiler: gcc-6
64 addons:
65 apt:
66 sources: ['ubuntu-toolchain-r-test']
67 packages: ['gcc-6', 'gcc-6-multilib', 'linux-libc-dev:i386']
68
Petr Vorel72a23be2018-01-26 19:51:16 +010069 ### cross-compile builds ###
Petr Vorel8197a462017-12-11 17:08:14 +010070 - os: linux
71 env: BUILD="cross" INSTALL_PACKAGES="$BUILD"
72 compiler: arm-linux-gnueabihf-gcc
73 addons:
74 apt:
75 packages: ['gcc-arm-linux-gnueabihf', 'libc6-dev-armhf-cross']
76
77 - os: linux
Petr Vorel72a23be2018-01-26 19:51:16 +010078 env: BUILD="cross" TREE="out" INSTALL_PACKAGES="$BUILD"
Petr Vorel8197a462017-12-11 17:08:14 +010079 compiler: aarch64-linux-gnu-gcc
80 addons:
81 apt:
82 packages: ['gcc-aarch64-linux-gnu', 'libc6-dev-arm64-cross']
83
Petr Vorel72a23be2018-01-26 19:51:16 +010084 - os: linux
85 env: BUILD="cross" TREE="out"
86 compiler: powerpc64le-linux-gnu-gcc
87 addons:
88 apt:
89 packages: ['gcc-powerpc64le-linux-gnu', 'libc6-dev-ppc64el-cross']
90
Petr Vorel1ed52332017-01-11 13:42:29 +010091notifications:
92 email:
Petr Vorelbf549a02017-02-02 16:43:15 +010093 secure: "b/xcA/K5OyQvPPnd0PRahTH5LJu8lgz8goGHvhXpHo+ZPsPgTDXNFo5cX9fSOkMuFKeoW8iGl0wOgK2+ptc8mbYDw277K4RFIHRHeV/KIoE1EzjQnEFiL8J0oHCAvDj12o0AXeriTyY9gICXKbR31Br6Zh5eKViDJe2OAGeHeDU="
Petr Vorel1ed52332017-01-11 13:42:29 +010094
Petr Vorel3d43c232017-11-27 15:45:53 +010095before_install:
Petr Vorel228e7152018-03-27 18:00:20 +020096 # travis-ci/travis-ci#9112: disabling repositories causing often failures (which we don't need anyway):
97 # - MongoDB (expired key)
98 # - Apache Cassandra (missing Release file)
99 - sudo rm -fv /etc/apt/sources.list.d/{mongodb,cassandra}*.list*
Petr Vorel05398fa2018-03-27 16:37:11 +0200100 - sudo apt update --option Acquire::Retries=100 --option Acquire::http::Timeout="60"
Petr Vorel43ba7982018-03-15 13:32:11 +0100101
Petr Vorelb9e89182017-11-30 19:05:14 +0100102 # installing / removing dependencies
103 - if [ "$INSTALL_PACKAGES" = "" ]; then
104 sudo apt remove $(cat .travis.packages_native | grep -v -e 'libc6' -e 'libc6-dev' -e 'linux-libc-dev' -e 'libacl1')
Petr Vorela937b3a2018-01-29 11:27:51 +0100105 ; else
Petr Vorelb9e89182017-11-30 19:05:14 +0100106 sudo apt install -qq $(cat .travis.packages_native)
107 ; fi
108
109 - if [ "$INSTALL_PACKAGES" = "32" ]; then
110 sudo apt install -qq $(cat .travis.packages_i386)
111 ; fi
Petr Vorel72a23be2018-01-26 19:51:16 +0100112 - if [ ! "$TREE" ]; then
113 TREE="in"
114 ; fi
Petr Vorelb9e89182017-11-30 19:05:14 +0100115
Petr Vorel72a23be2018-01-26 19:51:16 +0100116script: ./build.sh -o $TREE -t $BUILD -c $CC