language: objective-c osx_image: xcode8.3 install: - nvm install 7 - rm -Rf "${TMPDIR}/jest_preprocess_cache" - brew install yarn --ignore-dependencies - brew install watchman - yarn install script: - if [[ "$TEST_TYPE" = objc-ios ]]; then travis_retry travis_wait 30 ./scripts/objc-test-ios.sh test; fi - if [[ "$TEST_TYPE" = objc-tvos ]]; then travis_retry travis_wait 30 ./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 && travis_wait 30 ./scripts/process-podspecs.sh; fi cache: - cocoapods - yarn 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: - 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