-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy path.travis.yml
124 lines (113 loc) · 4.8 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
language: python
sudo: required
dist: trusty
cache:
directories:
- .cargo
- .servo
- $HOME/.ccache
env:
global:
- CCACHE=/usr/bin/ccache
- secure: "gBwC2ZbWXWO56NhGPtJMAO+kBRHzU9YoiA52QCbR2GqKOYqAyWZeCh5UYqxY6dCMA+vXXhZsKXrZ0847wIpGyParp7VkZ51wE0r0Ngp0tMUG7lmnV6wJEkWB8mrAOpz13qkBK/8UB4rXcTrIFXXO9m+M+EPXGPUsOBUGCg6ev3WUSVC+EBDM7JPbnjuWreyVNlL6nm66GCjDoe/Rwp1x8hLz3FZq40A/3Xee/Xh68aBZCaKKU15+srXet/foWMOWkuLrNkuXKiZtUnB+t4ucaaj3qUIPX4LyII4PV1W+DAcwXghPn2I7VzjDxqK5c+XCB4lZIry22V7Z5j3iujegYdZHolvVgb4Y8w5e/Uf9BfZzHaHbtwyrb8hNZnbKKMWfvuoc2fE2a91cSaybwDpDuVSC4acqXlRLvPFLTI9K0FARakH5//n0Y//xNyBxmEKb22oe6M4J/Regs5pS3Ln0INRSp1LEZVHLunTVLiG8GBy84md8FM/nQ1xXwfva6LJd3IjaZyDSEwSv1ceabawuKZoHbDM7Nq0gQ+Yex3OW9if5OG9OzJYUhfLMEyRgWRn2saiL5etsoNyno1hQOWBDyOeE/9wlAsTUdb/frnSF71EiO02k9bUSYPkZky6MjHGJb4DvHU104RKN+0jBHj9a3+AxzghhCCi7IAWtf922WS0="
matrix:
include:
# Source only
- env:
- BUILD_TARGET=source
script:
- git clone https://github.com/servo/servo --depth=1
- export ASSET_NAME=servo_source_$(date '+%Y-%m-%d').tgz
- tar czf $ASSET_NAME servo --exclude-vcs --exclude='tests'
- mv $ASSET_NAME servo/
after_success:
- ./upload_to_github.py
# x86_64
- env:
- BUILD_TARGET=x86_64-unknown-linux-gnu TRIPLET=x86_64-linux-gnu
# ARM
- env:
- BUILD_TARGET=arm-unknown-linux-gnueabihf TRIPLET=arm-linux-gnueabihf
- PKG_CONFIG_ALLOW_CROSS=1 PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/pkgconfig
- EXPAT_NO_PKG_CONFIG=1 FREETYPE2_NO_PKG_CONFIG=1 FONTCONFIG_NO_PKG_CONFIG=1
before_script:
- mkdir $HOME/bin
- for f in /usr/bin/arm-linux-*; do f2=$(basename $f); ln -s $f $HOME/bin/${f2/-linux/-unknown-linux}; done
# download and link system libs
- wget https://github.com/mmatyas/mmatyas.github.io/releases/download/arm-libs/armhf-trusty-libs.tgz
- mkdir rootfs-trusty-armhf
- tar xzf armhf-trusty-libs.tgz -C rootfs-trusty-armhf
- sudo ln -s $(pwd)/rootfs-trusty-armhf/usr/include/arm-linux-gnueabihf /usr/include/arm-linux-gnueabihf
- sudo ln -s $(pwd)/rootfs-trusty-armhf/usr/lib/arm-linux-gnueabihf /usr/lib/arm-linux-gnueabihf
- sudo ln -s $(pwd)/rootfs-trusty-armhf/lib/arm-linux-gnueabihf /lib/arm-linux-gnueabihf
# AArch64
- env:
- BUILD_TARGET=aarch64-unknown-linux-gnu TRIPLET=aarch64-linux-gnu
- PKG_CONFIG_ALLOW_CROSS=1 PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
- EXPAT_NO_PKG_CONFIG=1 FREETYPE2_NO_PKG_CONFIG=1 FONTCONFIG_NO_PKG_CONFIG=1
before_script:
- mkdir $HOME/bin
- for f in /usr/bin/aarch64-linux-*; do f2=$(basename $f); ln -s $f $HOME/bin/${f2/-linux/-unknown-linux}; done
# download and link system libs
- wget https://github.com/mmatyas/mmatyas.github.io/releases/download/arm-libs/arm64-trusty-libs.tgz
- mkdir rootfs-trusty-arm64
- tar xzf arm64-trusty-libs.tgz -C rootfs-trusty-arm64
- sudo ln -s $(pwd)/rootfs-trusty-arm64/usr/include/aarch64-linux-gnu /usr/include/aarch64-linux-gnu
- sudo ln -s $(pwd)/rootfs-trusty-arm64/usr/lib/aarch64-linux-gnu /usr/lib/aarch64-linux-gnu
- sudo ln -s $(pwd)/rootfs-trusty-arm64/lib/aarch64-linux-gnu /lib/aarch64-linux-gnu
# note: do not try this at home, see servo/servo#9579
- sudo rm /usr/bin/ld.gold
# Android
- env:
- BUILD_TARGET=android TRIPLET=arm-linux-androideabi
before_script:
- source setup_android.sh
script:
- git clone https://github.com/servo/servo --depth=1
- cd servo
- ./mach build --rel --android
install:
- sudo apt-get update -qq
- sudo apt-get install -y -o Dpkg::Options::="--force-overwrite" -f
cmake
curl
freeglut3-dev
g++
g++-aarch64-linux-gnu
g++-arm-linux-gnueabihf
gperf
libbz2-dev
libegl1-mesa-dev
libfreetype6-dev
libgl1-mesa-dri
libgles2-mesa-dev
libglib2.0-dev
libglu1-mesa-dev
libosmesa6-dev
libssl-dev
libxmu-dev
libxmu6
python-pip
python-virtualenv
xorg-dev
ant
expect
lib32gcc1
lib32stdc++6
lib32z1
openjdk-7-jdk
script:
- export CC=$TRIPLET-gcc
- export CXX=$TRIPLET-g++
- export PATH="$PATH:$HOME/bin"
- git clone https://github.com/servo/servo --depth=1
- cd servo
- ./mach build --rel --target=$BUILD_TARGET
after_success:
- cd $TRAVIS_BUILD_DIR/servo
- export ASSET_NAME=servo_${TRIPLET}_$(date '+%Y-%m-%d').tgz
- if [[ "$BUILD_TARGET" == "android" ]]; then ./mach package --release; fi
- if [[ "$BUILD_TARGET" == "android" ]]; then tar czf $ASSET_NAME --transform 's|target/'$TRIPLET'/release/||' target/$TRIPLET/release/servo.apk resources; fi
- if [[ "$BUILD_TARGET" != "android" ]]; then tar czf $ASSET_NAME --transform 's|target/'$BUILD_TARGET'/release/||' target/$BUILD_TARGET/release/servo target/$BUILD_TARGET/release/libservo.rlib resources; fi
- cd ..
- ./upload_to_github.py