84 lines
3.4 KiB
YAML
84 lines
3.4 KiB
YAML
language: node_js
|
|
sudo: false
|
|
# force trusty as Google Chrome addon is not supported on Precise
|
|
dist: trusty
|
|
node_js:
|
|
- '6.9.5'
|
|
|
|
addons:
|
|
chrome: stable
|
|
# 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
|
|
- 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
|