2014-09-29 17:20:23 -04:00
language : node_js
2014-12-22 20:50:10 -05:00
sudo : false
2014-09-29 17:20:23 -04:00
node_js :
2016-03-04 19:05:34 -05:00
- '5.4.1'
2015-04-16 00:37:13 -04:00
2015-07-23 16:51:57 -04:00
branches :
except :
2016-01-15 16:36:06 -05:00
- g3_v2_0
2015-07-23 16:51:57 -04:00
2015-04-16 00:37:13 -04:00
cache :
directories :
2015-06-01 13:02:16 -04:00
- $HOME/.pub-cache
2015-11-19 17:37:55 -05:00
- $HOME/.chrome/chromium
2015-04-16 00:37:13 -04:00
2016-02-08 16:23:12 -05:00
before_cache :
2016-03-04 13:22:07 -05:00
# Undo the pollution of the typescript_next build before the cache is primed for future use
- if [[ "$MODE" == "typescript_next" ]]; then npm install typescript; fi
2016-02-08 16:23:12 -05:00
2014-09-29 17:20:23 -04:00
env :
2014-10-28 06:51:00 -04:00
global :
2016-03-04 19:05:34 -05:00
# Use newer verison of GCC to that is required to compile native npm modules for Node v4+ on Ubuntu Precise
# more info: https://docs.travis-ci.com/user/languages/javascript-with-nodejs#Node.js-v4-(or-io.js-v3)-compiler-requirements
- CXX=g++-4.8
- KARMA_DART_BROWSERS=DartiumWithWebPlatform
# No sandbox mode is needed for Chromium in Travis, it crashes otherwise: https://sites.google.com/a/chromium.org/chromedriver/help/chrome-doesn-t-start
- KARMA_JS_BROWSERS=ChromeNoSandbox
- E2E_BROWSERS=ChromeOnTravis
- LOGS_DIR=/tmp/angular-build/logs
- SAUCE_USERNAME=angular-ci
- SAUCE_ACCESS_KEY=9b988f434ff8-fbca-8aa4-4ae3-35442987
- BROWSER_STACK_USERNAME=angularteam1
- BROWSER_STACK_ACCESS_KEY=BWCd4SynLzdDcv8xtzsB
- ARCH=linux-x64
- DART_DEV_VERSION=latest
- DART_STABLE_VERSION=latest
- DART_CHANNEL=stable
- DART_VERSION=$DART_STABLE_VERSION
# Token for tsd to increase github rate limit
# See https://github.com/DefinitelyTyped/tsd#tsdrc
# This does not use http://docs.travis-ci.com/user/environment-variables/#Secure-Variables
# because those are not visible for pull requests, and those should also be reliable.
# This SSO token belongs to github account angular-github-ratelimit-token which has no access
# (password is in Valentine)
- TSDRC='{"token":"ef474500309daea53d5991b3079159a29520a40b"}'
# GITHUB_TOKEN_ANGULAR
- secure : "fq/U7VDMWO8O8SnAQkdbkoSe2X92PVqg4d044HmRYVmcf6YbO48+xeGJ8yOk0pCBwl3ISO4Q2ot0x546kxfiYBuHkZetlngZxZCtQiFT9kyId8ZKcYdXaIW9OVdw3Gh3tQyUwDucfkVhqcs52D6NZjyE2aWZ4/d1V4kWRO/LMgo="
2015-02-12 18:00:43 -05:00
matrix :
2015-10-30 10:34:48 -04:00
# Order: a slower build first, so that we don't occupy an idle travis worker waiting for others to complete.
2016-03-04 17:57:36 -05:00
- MODE=dart
- MODE=dart DART_CHANNEL=dev
- MODE=saucelabs_required
- MODE=browserstack_required
- MODE=saucelabs_optional
- MODE=browserstack_optional
- MODE=dart_ddc
- MODE=js
- MODE=router
- MODE=build_only
- MODE=typescript_next
- MODE=lint
- MODE=payload
2015-06-02 10:29:09 -04:00
2015-07-27 20:00:01 -04:00
matrix :
2015-06-02 10:29:09 -04:00
allow_failures :
2016-03-04 19:05:34 -05:00
- env : "MODE=saucelabs_optional"
- env : "MODE=browserstack_optional"
# Tracked in https://github.com/angular/angular/issues/7050
- env : "MODE=typescript_next"
2014-09-29 17:20:23 -04:00
2015-06-02 17:09:32 -04:00
addons :
firefox : "38.0"
2016-03-04 12:30:45 -05:00
apt :
sources :
- ubuntu-toolchain-r-test
packages :
- g++-4.8
2015-06-02 17:09:32 -04:00
2014-09-29 17:20:23 -04:00
before_install :
2016-03-04 14:26:21 -05:00
- node tools/analytics/build-analytics start ci job
- node tools/analytics/build-analytics start ci before_install
- echo ${TSDRC} > .tsdrc
- export CHROME_BIN=$HOME/.chrome/chromium/chrome-linux/chrome
- export DISPLAY=:99.0
- export GIT_SHA=$(git rev-parse HEAD)
- ./scripts/ci/init_android.sh
- sh -e /etc/init.d/xvfb start
# Use a separate SauseLabs account for upstream/master builds in order for Sauce to create a badge representing the status of just upstream/master
- '[ "${TRAVIS_PULL_REQUEST}" = "false" ] && [ "${TRAVIS_BRANCH}" = "master" ] && SAUCE_USERNAME="angular2-ci" && SAUCE_ACCESS_KEY="693ebc16208a-0b5b-1614-8d66-a2662f4e" || true'
- node tools/analytics/build-analytics success ci before_install
2015-04-16 00:32:39 -04:00
install :
2015-10-27 19:06:30 -04:00
- node tools/analytics/build-analytics start ci install
2016-03-04 14:26:21 -05:00
# Install version of npm that we are locked against
- npm install -g npm@3.5.3
# Install version of Chromium that we are locked against
- ./scripts/ci/install_chromium.sh
# Install version of Dart based on the matrix build variables
- ./scripts/ci/install_dart.sh ${DART_CHANNEL} ${DART_VERSION} ${ARCH}
# Print the size of caches to ease debugging
2015-04-16 00:32:39 -04:00
- du -sh ./node_modules || true
2015-06-06 02:37:09 -04:00
# Install npm dependecies
2015-12-21 17:50:56 -05:00
# check-node-modules will exit(1) if we don't need to install
# we need to manually kick off the postinstall script if check-node-modules exit(0)s
- node tools/npm/check-node-modules --purge && npm install || npm run postinstall
2015-10-27 19:06:30 -04:00
- node tools/analytics/build-analytics success ci install
2015-04-16 00:32:39 -04:00
2014-09-29 17:20:23 -04:00
before_script :
2016-03-04 19:05:34 -05:00
- node tools/analytics/build-analytics start ci before_script
- mkdir -p $LOGS_DIR
- ./scripts/ci/presubmit-queue-setup.sh
- node tools/analytics/build-analytics success ci before_script
2015-04-16 00:32:39 -04:00
2014-09-29 17:20:23 -04:00
script :
2016-03-04 19:05:34 -05:00
- node tools/analytics/build-analytics start ci script
- ./scripts/ci/build_and_test.sh ${MODE}
- node tools/analytics/build-analytics success ci script
2015-04-16 00:32:39 -04:00
2014-09-29 17:20:23 -04:00
after_script :
2016-03-04 19:05:34 -05:00
- node tools/analytics/build-analytics start ci after_script
- ./scripts/ci/print-logs.sh
- ./scripts/ci/after-script.sh
- ./scripts/publish/publish-build-artifacts.sh
- node tools/analytics/build-analytics success ci after_script
- if [[ $TRAVIS_TEST_RESULT -eq 0 ]]; then node tools/analytics/build-analytics success ci job; else node tools/analytics/build-analytics error ci job; fi
2015-04-16 00:32:39 -04:00
2015-03-07 14:57:51 -05:00
notifications :
webhooks :
urls :
2016-03-04 19:05:34 -05:00
- https://webhooks.gitter.im/e/1ef62e23078036f9cee4
# trigger Buildtime Trend Service to parse Travis CI log
- https://buildtimetrend.herokuapp.com/travis
- http://104.197.9.155:8484/hubot/travis/activity
2015-07-27 00:43:49 -04:00
on_success: always # options: [always|never|change] default : always
2015-03-07 14:57:51 -05:00
on_failure: always # options: [always|never|change] default : always
2016-03-04 19:30:58 -05:00
on_start: never # default : never
2015-03-12 18:08:40 -04:00
slack :
secure : EP4MzZ8JMyNQJ4S3cd5LEPWSMjC7ZRdzt3veelDiOeorJ6GwZfCDHncR+4BahDzQAuqyE/yNpZqaLbwRWloDi15qIUsm09vgl/1IyNky1Sqc6lEknhzIXpWSalo4/T9ZP8w870EoDvM/UO+LCV99R3wS8Nm9o99eLoWVb2HIUu0=