-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.travis.yml
125 lines (112 loc) · 3.34 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
language: bash
services: docker
# amd64 toolchain (used as a base for non-sudo compilation, which is faster)
include: &toolchain_amd64
sudo: false
addons:
apt:
# sources:
# - ubuntu-toolchain-r-test
packages:
- docker-ce
- jq
# - gcc-4.9
# - g++-4.9
# - gcc-4.9-multilib
# - g++-4.9-multilib
# - zip
# - libgtk2.0-0
# - libx11-dev
# - libxkbfile-dev
# linux i386 toolchain
include: &toolchain_linux_i386
<<: *toolchain_amd64
env:
- LABEL=i386_linux
- ARCH=i386
- GPP_COMPILER=g++-4.9
- GCC_COMPILER=gcc-4.9
# linux amd64 toolchain
include: &toolchain_linux_amd64
<<: *toolchain_amd64
env:
- LABEL=amd64_linux
- ARCH=amd64
- GPP_COMPILER=g++-4.9
- GCC_COMPILER=gcc-4.9
# cross toolchain (used as a base for multiarch cross-compilation configurations below)
include: &toolchain_linux_cross
dist: trusty
sudo: required # for dpkg --add-architecture locking
# arm32v5 toolchain
include: &toolchain_linux_arm32v5
<<: *toolchain_linux_cross
env:
- LABEL=arm32v5_linux
- CROSS_TOOLCHAIN=true
- ARCH=arm32v5
- DPKG_ARCH=armel
- NPM_ARCH=arm
- GNU_TRIPLET=arm-linux-gnueabihf
- GNU_MULTILIB_TRIPLET=arm-linux-gnueabihf
- GPP_COMPILER=arm-linux-gnueabihf-g++
- GCC_COMPILER=arm-linux-gnueabihf-gcc
# arm32v7 toolchain
include: &toolchain_linux_arm32v7
<<: *toolchain_linux_cross
env:
- LABEL=arm32v7_linux
- CROSS_TOOLCHAIN=true
- ARCH=arm32v7
- DPKG_ARCH=armhf
- NPM_ARCH=arm
- GNU_TRIPLET=arm-linux-gnueabihf
- GNU_MULTILIB_TRIPLET=arm-linux-gnueabihf
- GPP_COMPILER=arm-linux-gnueabihf-g++
- GCC_COMPILER=arm-linux-gnueabihf-gcc
# arm64v8 toolchain
include: &toolchain_linux_arm64v8
<<: *toolchain_linux_cross
env:
- LABEL=arm64v8_linux
- CROSS_TOOLCHAIN=true
- ARCH=arm64v8
- DPKG_ARCH=arm64
- NPM_ARCH=arm
- GNU_TRIPLET=aarch64-linux-gnu
- GNU_MULTILIB_TRIPLET=arm-linux-gnueabihf
- GPP_COMPILER=aarch64-linux-gnu-g++
- GCC_COMPILER=aarch64-linux-gnu-gcc
# Travis CI build matrix. Each entry below will trigger an extra, parallel build on Travis.
matrix:
include:
- os: linux
<<: *toolchain_linux_amd64
- os: linux
<<: *toolchain_linux_i386
- os: linux
<<: *toolchain_linux_arm32v5
- os: linux
<<: *toolchain_linux_arm32v7
- os: linux
<<: *toolchain_linux_arm64v8
notifications:
email: false
before_install:
- export CXX="${GPP_COMPILER}" CC="${GCC_COMPILER}" DOCKER_CONFIG="./";
- if [[ "${CROSS_TOOLCHAIN}" == "true" ]]; then
sudo rm -rf /etc/apt/sources.list.d/**;
sudo rm /etc/apt/sources.list;
echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu xenial main universe multiverse restricted" | sudo tee /etc/apt/sources.list;
echo "deb [arch=${DPKG_ARCH}] http://ports.ubuntu.com/ubuntu-ports xenial main universe multiverse restricted" | sudo tee -a /etc/apt/sources.list;
echo "deb-src http://archive.ubuntu.com/ubuntu xenial main universe multiverse restricted" | sudo tee -a /etc/apt/sources.list;
sudo dpkg --add-architecture ${DPKG_ARCH};
sudo apt-get update -yq;
fi
install:
- ./scripts/build.sh;
script:
- ./scripts/test-integration.sh;
after_success:
- ./scripts/push-docker.sh;
- ./scripts/push-docker-manifest.sh;