language: objective-c osx_image: xcode8.2 install: - mkdir -p /Users/travis/build/facebook/.nvm - export NVM_DIR="/Users/travis/build/facebook/.nvm" - brew install nvm - source $(brew --prefix nvm)/nvm.sh # TODO npm 2 started stalling on Travis, t11852928 # Use node 6 because that is what runs on land-blocking tests - nvm install 6 - rm -Rf "${TMPDIR}/jest_preprocess_cache" - wget https://github.com/yarnpkg/yarn/releases/download/v0.16.0/yarn-0.16.0.js - export yarn="node $(pwd)/yarn-0.16.0.js" - $yarn install script: - if [[ "$TEST_TYPE" = objc-ios ]]; then travis_retry travis_wait ./scripts/objc-test-ios.sh test; fi - if [[ "$TEST_TYPE" = objc-tvos ]]; then travis_retry travis_wait ./scripts/objc-test-tvos.sh; fi - if [[ "$TEST_TYPE" = e2e-objc ]]; then node ./scripts/run-ci-e2e-tests.js --ios --js --retries 3; fi - if [[ ( "$TEST_TYPE" = podspecs ) && ( "$TRAVIS_PULL_REQUEST" = "false" ) ]]; then gem install cocoapods && ./scripts/process-podspecs.sh; fi matrix: - fast_finish: true # Fail the whole build as soon as one test type fails. Should help with Travis capacity issues (very long queues). # The order of these tests says which are more likely to run first and fail the whole build fast. env: - TEST_TYPE=objc-ios - TEST_TYPE=podspecs - TEST_TYPE=e2e-objc - TEST_TYPE=objc-tvos branches: only: - master - /^.*-stable$/ notifications: email: recipients: - mkonicek@fb.com - douglowder@mac.com # Doug Lowder built and maintains Apple TV specific code and wants to be notified about tvOS failures. - eloy@artsy.net # Eloy DurĂ¡n maintains the podspecs test and wants to be notified about failures. on_failure: change on_success: change slack: secure: oQL2C966v7/DtxNqfM7WowjY0R5mgLHR2qHkoucwK5iVrmaptnHr8fq01xlj7VT0kDwNLqT3n4+gtCviGw89lq71m3W76c8Pms/10jpjw+LwAfQPVizNw/Bx8MFNNmjDauK/auFxaybiLZupi7zd4xFGOZvScmFdfD4CAAp2OOA= on_pull_requests: false on_failure: change on_success: change