Raw File
.travis.yml
language: node_js
sudo: false
dist: trusty
node_js:
  - '8.9.1'

addons:
#  firefox: "38.0"
  apt:
    sources:
      # needed to install g++ that is used by npms's native modules
      - ubuntu-toolchain-r-test
    packages:
      # needed to install g++ that is used by npms's native modules
      - g++-4.8
  # https://docs.travis-ci.com/user/jwt
  jwt:
    # SAUCE_ACCESS_KEY<=secret for NGBUILDS_IO_KEY to work around travis-ci/travis-ci#7223, unencrypted value in valentine as NGBUILDS_IO_KEY>
    # we alias NGBUILDS_IO_KEY to $SAUCE_ACCESS_KEY in env.sh and set the SAUCE_ACCESS_KEY there
    - secure: "L7nrZwkAtFtYrP2DykPXgZvEKjkv0J/TwQ/r2QGxFTaBq4VZn+2Dw0YS7uCxoMqYzDwH0aAOqxoutibVpk8Z/16nE3tNmU5RzltMd6Xmt3qU2f/JDQLMo6PSlBodnjOUsDHJgmtrcbjhqrx/znA237BkNUu6UZRT7mxhXIZpn0U="
branches:
  except:
    - g3

cache:
  yarn: true
  directories:
     - ./node_modules
     - ./.chrome/chromium
     - ./aio/node_modules

env:
  global:
    # GITHUB_TOKEN_ANGULAR=<github token, a personal access token of the angular-builds account, account access in valentine>
    # This is needed for the e2e Travis matrix task to publish packages to github for continuous packages delivery.
    - secure: "aCdHveZuY8AT4Jr1JoJB4LxZsnGWRe/KseZh1YXYe5UtufFCtTVHvUcLn0j2aLBF0KpdyS+hWf0i4np9jthKu2xPKriefoPgCMpisYeC0MFkwbmv+XlgkUbgkgVZMGiVyX7DCYXVahxIoOUjVMEDCbNiHTIrfEuyq24U3ok2tHc="
    # FIREBASE_TOKEN
    # This is needed for publishing builds to the "aio-staging" and "angular-io" firebase projects.
    # This token was generated using the aio-deploy@angular.io account using `firebase login:ci` and password from valentine
    - secure: "L5CyQmpwWtoR4Qi4xlWQh/cL1M6ZeJL4W4QAr4HdKFMgYt9h+Whqkymyh2NxwmCbPvWa7yUd+OiLQUDCY7L2VIg16hTwoe2CgYDyQA0BEwLzxtRrJXl93TfwMlrUx5JSIzAccD6D4sjtz8kSFMomK2Nls33xOXOukwyhVMjd0Cg="
    # ANGULAR_PAYLOAD_FIREBASE_TOKEN
    # This is for payload size data to "angular-payload-size" firebase project
    # This token was generated using the payload@angular.io account using `firebase login:ci` and password from valentine
    - secure: "SxotP/ymNy6uWAVbfwM9BlwETPEBpkRvU/F7fCtQDDic99WfQHzzUSQqHTk8eKk3GrGAOSL09vT0WfStQYEIGEoS5UHWNgOnelxhw+d5EnaoB8vQ0dKQBTK092hQg4feFprr+B/tCasyMV6mVwpUzZMbIJNn/Rx7H5g1bp+Gkfg="
  matrix:
    # Order: a slower build first, so that we don't occupy an idle travis worker waiting for others to complete.
    - CI_MODE=e2e
    - CI_MODE=e2e_2
    - CI_MODE=js
    - CI_MODE=saucelabs_required
    # deactivated, see #19768
    # - CI_MODE=browserstack_required
    - CI_MODE=saucelabs_optional
    - CI_MODE=browserstack_optional
    - CI_MODE=aio_tools_test
    - CI_MODE=aio
    - CI_MODE=aio_e2e AIO_SHARD=0
    - CI_MODE=aio_e2e AIO_SHARD=1
    - CI_MODE=bazel

matrix:
  fast_finish: true
  allow_failures:
    - env: "CI_MODE=saucelabs_optional"
    - env: "CI_MODE=browserstack_optional"

before_install:
  # source the env.sh script so that the exported variables are available to other scripts later on
  - source ./scripts/ci/env.sh print

install:
  - ./scripts/ci/install.sh

script:
  - ./scripts/ci/build.sh
  - ./scripts/ci/test.sh
  # deploy is part of 'script' and not 'after_success' so that we fail the build if the deployment fails
  - ./scripts/ci/deploy.sh
  - ./scripts/ci/angular.sh
  # all the scripts under this line will not quickly abort in case ${TRAVIS_TEST_RESULT} is 1 (job failure)
  - ./scripts/ci/cleanup.sh
  - ./scripts/ci/print-logs.sh
back to top