-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis_old.yml
145 lines (130 loc) · 3.82 KB
/
.travis_old.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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
language: bash
services: docker
branches:
except:
- /v\d+.\d+.*/
# 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:
- curl
- 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
addons:
apt:
packages:
- curl
- docker-ce
- jq
# arm32v5 toolchain
include: &toolchain_linux_arm32v5
<<: *toolchain_linux_cross
env:
- LABEL=arm32v5_linux
- CROSS_TOOLCHAIN=true
- ARCH=arm32v5
- DPKG_ARCH=armel
- QEMU_ARCH=arm
- 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
- QEMU_ARCH=arm
- NPM_ARCH=armhf
- 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
- QEMU_ARCH=aarch64
- NPM_ARCH=arm64
- 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;
curl -fsSL https://github.com/multiarch/qemu-user-static/releases/download/v4.2.0-2/x86_64_qemu-${QEMU_ARCH}-static.tar.gz | tar zx -C ./src/;
fi
svn co https://svn.fhem.de/fhem/trunk ./src/fhem/trunk >/dev/null;
install: |
travis_wait 120 sleep infinity & ./scripts/build.sh;
script: |
./scripts/test-integration.sh;
cache:
directories:
- $TRAVIS_BUILD_DIR/src/fhem/
after_success: |
./scripts/push-docker.sh;
./scripts/push-docker-manifest.sh;