forked from facebook/buck
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
157 lines (151 loc) · 4.29 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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
language: android
matrix:
include:
- os: linux
jdk: oraclejdk8
dist: trusty
addons:
apt:
packages:
- ant
env: CI_ACTION=build
# ANDROID_SDK is required for build.
android:
components:
- tools
- platform-tools
- build-tools-23.0.2
- android-23
- os: linux
jdk: openjdk8
dist: trusty
addons:
apt:
packages:
- ant
env: CI_ACTION=build
# ANDROID_SDK is required for build.
android:
components:
- tools
- platform-tools
- build-tools-23.0.2
- android-23
- os: linux
jdk: openjdk8
dist: trusty
addons:
apt:
packages:
- ant
- groovy
env: CI_ACTION=unit GROOVY_HOME=/usr/share/groovy/
# ANDROID_SDK is required for build.
android:
components:
- tools
- platform-tools
- build-tools-23.0.2
- android-23
- os: linux
jdk: openjdk8
dist: trusty
addons:
apt:
packages:
- ant
env: CI_ACTION=ant
# ANDROID_HOME required for javadoc verification.
android:
components:
- tools
- platform-tools
- build-tools-23.0.2
- android-23
- os: linux
jdk: openjdk8
dist: trusty
addons:
apt:
packages:
- ant
- groovy
# We rely on -gno-record-gcc-switches which was added in 4.7.
- gcc
- g++
# Haskell tests require GHC (and at least version 7.6).
- ghc
# base ghc package does not include dynamic libraries
# https://stackoverflow.com/a/11711501/1548477
- ghc-dynamic
env: CI_ACTION=integration GROOVY_HOME=/usr/share/groovy/
# ANDROID_SDK is required for build.
android:
components:
- tools
- platform-tools
- build-tools-23.0.2
- android-23
- os: linux
jdk: openjdk8
android:
components:
- tools
- platform-tools
- build-tools-23.0.2
- android-23
- addon-google_apis-google-23
- android-21
- addon-google_apis-google-21
- extra-android-support
dist: trusty
addons:
apt:
packages:
- ant
# Travis is on 64bit and there will be a cryptic aapt error w/o these libs.
# For native code tests, we need some additional libraries if we are in a 64-bit environment.
- libgd2-xpm-dev
- libc6:i386
- libstdc++6:i386
- zlib1g:i386
# We rely on -gno-record-gcc-switches which was added in 4.7.
- gcc
- g++
# Haskell tests require GHC (and at least version 7.6).
- ghc
# base ghc package does not include dynamic libraries
# https://stackoverflow.com/a/11711501/1548477
- ghc-dynamic
# https://docs.travis-ci.com/user/caching#Things-not-to-cache
# https://docs.travis-ci.com/user/caching#Explicitly-disabling-caching
cache:
directories:
- $HOME/ndk_cache
env: CI_ACTION=heavy_integration
# Enable container-based architecture.
sudo: false
before_install:
# Install ant on MacOS
- if \[ ${TRAVIS_OS_NAME} == "osx" \]; then brew install ant watchman; fi
# Limit Ant's and Buck's memory usage to avoid the OOM killer.
- export ANT_OPTS='-Xmx500m'
- echo '-Xmx500m' > .buckjavaargs.local
# Set up the Android environment. Only for Linux.
- if \[ ${TRAVIS_OS_NAME} == "linux" \] && \[ "${CI_ACTION}" == "heavy_integration" \]; then
export NDK_HOME="${HOME}/android-ndk-linux" ;
./scripts/travisci_install_android_ndk.sh ;
fi
# Install go 1.10.x, which generates a different .c file name from cgo than previous versions
- eval "$(gimme 1.10.1)"
- echo -e "[go]\n root = ${GOROOT}" >> .buckconfig.local
# Buck dependencies are checked in, so no need to download dependencies
install: true
notifications:
slack:
rooms:
secure: SYKQV9DT55kHf5Mpe6g5a3NmGXJb5E7kWiLulRp+EmKDIhf3lVmxGbx4Yr/TKZixbNILsPzhhiB56V0H+0mAgMpygVXaq4M9eSHKLljJEmEdeLKmQaRuOUikMOkpLsHw/epvmqrsvlb3yVpsJZZhhHmi9B0oQc0AnjpL/qLBaZE=
# Send Travis CI notifications to internal sytems like Phabricator.
webhooks: https://code.facebook.com/travis/webhook/
script:
- ./scripts/travisci_run.sh