Summary: After about 500MB, Travis seems to kill the TLS connection. Could be a traffic limit, could be a timeout. I've only seen this for their MacOS boxes. We're now retrying a few times with curl, which seems to work. Reviewed By: emilsjolander Differential Revision: D6051024 fbshipit-source-id: feb73bfb9fd81b2a8b9b4d33d4e9f230a9899a66
137 lines
3.6 KiB
YAML
137 lines
3.6 KiB
YAML
# Copyright (c) 2014-present, Facebook, Inc.
|
|
# All rights reserved.
|
|
#
|
|
# This source code is licensed under the BSD-style license found in the
|
|
# LICENSE file in the root directory of this source tree. An additional grant
|
|
# of patent rights can be found in the PATENTS file in the same directory.
|
|
|
|
os: osx
|
|
osx_image: xcode8.2
|
|
language: cpp
|
|
compiler: clang
|
|
cache:
|
|
directories:
|
|
- $HOME/Library/Caches/Homebrew
|
|
- $HOME/android-sdk
|
|
- $HOME/android-ndk
|
|
|
|
env:
|
|
- TARGET=c
|
|
- TARGET=java
|
|
- TARGET=net
|
|
- TARGET=ios
|
|
- TARGET=js
|
|
- TARGET=android
|
|
|
|
before_install:
|
|
- |
|
|
if [[ -n "$encrypted_d27e803291ff_iv" ]]; then
|
|
openssl aes-256-cbc -K $encrypted_d27e803291ff_key -iv $encrypted_d27e803291ff_iv -in scripts/setup-keys.enc -d >> gradle.properties;
|
|
fi
|
|
|
|
- brew update > /dev/null
|
|
- brew install --HEAD facebook/fb/buck
|
|
|
|
# Java
|
|
- |
|
|
if [[ $TARGET = "java" ]]; then
|
|
brew cask install java &&
|
|
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) &&
|
|
export PATH=$JAVA_HOME/bin:$PATH
|
|
fi
|
|
|
|
# .NET
|
|
- |
|
|
if [[ $TARGET = "net" ]]; then
|
|
brew install mono
|
|
fi
|
|
|
|
# iOS
|
|
- |
|
|
if [[ $TARGET = "ios" ]]; then
|
|
brew outdated xctool || brew upgrade xctool;
|
|
gem install xcpretty --no-document --quiet;
|
|
gem install cocoapods --pre --no-document --quiet;
|
|
pod repo update --silent;
|
|
pod install --project-directory=YogaKit/YogaKitSample/;
|
|
fi
|
|
|
|
# Emscripten (used for js tests)
|
|
# Note: cannot be ran on Linux (because it will compile Clang from its sources :|)
|
|
- |
|
|
if [[ $TARGET = "js" ]]; then
|
|
wget -O /tmp/emsdk-portable.tar.gz https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gz &&
|
|
tar xf /tmp/emsdk-portable.tar.gz -C /tmp/ &&
|
|
/tmp/emsdk-portable/emsdk install latest 2>&1 | grep -v '^x ' &&
|
|
/tmp/emsdk-portable/emsdk activate latest
|
|
fi
|
|
|
|
# Android
|
|
- |
|
|
if [[ $TARGET = "android" ]]; then
|
|
brew cask install java;
|
|
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8);
|
|
export PATH=$JAVA_HOME/bin:$PATH;
|
|
export TERMINAL=dumb;
|
|
source scripts/android-setup.sh && installAndroidSDK
|
|
export ANDROID_SDK=$ANDROID_HOME
|
|
export ANDROID_NDK_REPOSITORY=$HOME/android-ndk
|
|
export ANDROID_NDK_HOME=$ANDROID_NDK_REPOSITORY/android-ndk-r15c
|
|
fi
|
|
|
|
# JavaScript
|
|
- |
|
|
if [[ $TARGET = "js" ]]; then (
|
|
cd javascript &&
|
|
npm install &&
|
|
unset CC && unset CXX && unset LINK &&
|
|
source /tmp/emsdk-portable/emsdk_env.sh &&
|
|
npm run build:browser
|
|
) fi
|
|
|
|
script:
|
|
# C
|
|
- |
|
|
if [[ $TARGET = "c" ]]; then
|
|
buck test --verbose 0 //:yoga &&
|
|
buck run --verbose 0 //benchmark:benchmark &&
|
|
git checkout HEAD^ &&
|
|
buck run --verbose 0 //benchmark:benchmark
|
|
fi
|
|
|
|
# Java
|
|
- |
|
|
if [[ $TARGET = "java" ]]; then
|
|
buck test --verbose 0 //java:java
|
|
fi
|
|
|
|
# .NET
|
|
- |
|
|
if [[ $TARGET = "net" ]]; then
|
|
sh csharp/tests/Facebook.Yoga/test_macos.sh
|
|
fi
|
|
|
|
# iOS
|
|
- |
|
|
if [[ $TARGET = "ios" ]]; then
|
|
buck test --verbose 0 //YogaKit:YogaKitTests --config cxx.default_platform=iphonesimulator-x86_64 &&
|
|
set -o pipefail &&
|
|
xcodebuild build -workspace YogaKit/YogaKitSample/YogaKitSample.xcworkspace -scheme YogaKitSample -sdk iphonesimulator | xcpretty -c
|
|
fi
|
|
|
|
# Android
|
|
- |
|
|
if [[ $TARGET = "android" ]]; then
|
|
buck build --verbose 0 //android/sample:sample &&
|
|
./gradlew testDebugUnit &&
|
|
scripts/publish-snapshot.sh
|
|
fi
|
|
|
|
# JavaScript
|
|
- |
|
|
if [[ $TARGET = "js" ]]; then (
|
|
cd javascript &&
|
|
npm run test:all &&
|
|
npm run bench
|
|
) fi
|