c08403935f
Originally we ran gulp enforce-format at the beginning of the build. This was annoying because you came back from lunch to find that no tests ran so you have to start your PR over. Then we changed it to run the linters at the end. This is annoying because you might be ready to merge to master, and could have fixed the lint issues immediately, but now much wait for another PR. The solution is to run the lint checks in another build. This marks your PR red very early, but you still get the feedback of whether the tests are passing.
125 lines
4.2 KiB
YAML
125 lines
4.2 KiB
YAML
language: node_js
|
|
sudo: false
|
|
node_js:
|
|
- '0.12'
|
|
|
|
branches:
|
|
except:
|
|
- g3sync
|
|
|
|
cache:
|
|
directories:
|
|
- node_modules
|
|
- $HOME/.pub-cache
|
|
|
|
env:
|
|
global:
|
|
- KARMA_BROWSERS=DartiumWithWebPlatform
|
|
- E2E_BROWSERS=Dartium
|
|
- LOGS_DIR=/tmp/angular-build/logs
|
|
- SAUCE_USERNAME=angular-ci
|
|
- SAUCE_ACCESS_KEY=9b988f434ff8-fbca-8aa4-4ae3-35442987
|
|
- ARCH=linux-x64
|
|
# 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="
|
|
matrix:
|
|
# Order: slowest build on top, so that we don't hog VMs while waiting for others to complete.
|
|
- MODE=dart DART_CHANNEL=stable
|
|
- MODE=dart DART_CHANNEL=dev
|
|
# Disabled until we can make it pass.
|
|
# - MODE=saucelabs DART_CHANNEL=dev
|
|
- MODE=dart_experimental DART_CHANNEL=dev
|
|
- MODE=js DART_CHANNEL=dev
|
|
- MODE=lint DART_CHANNEL=dev
|
|
|
|
matrix:
|
|
allow_failures:
|
|
- env: "MODE=saucelabs DART_CHANNEL=dev"
|
|
|
|
addons:
|
|
firefox: "38.0"
|
|
|
|
before_install:
|
|
- echo ${TSDRC} > .tsdrc
|
|
- export DISPLAY=:99.0
|
|
- export GIT_SHA=$(git rev-parse HEAD)
|
|
- ./scripts/ci/init_android.sh
|
|
- ./scripts/ci/install_dart.sh ${DART_CHANNEL} ${ARCH}
|
|
- sh -e /etc/init.d/xvfb start
|
|
- if [[ -e SKIP_TRAVIS_TESTS ]]; then { cat SKIP_TRAVIS_TESTS ; exit 0; } fi
|
|
|
|
install:
|
|
# Update npm
|
|
- npm install -g npm@2.9.1
|
|
- npm --version
|
|
# Check the size of caches
|
|
- du -sh ./node_modules || true
|
|
# Install npm dependecies
|
|
- npm install
|
|
|
|
before_script:
|
|
- mkdir -p $LOGS_DIR
|
|
- ./scripts/ci/presubmit-queue-setup.sh
|
|
|
|
script:
|
|
- ./scripts/ci/build_and_test.sh ${MODE}
|
|
|
|
after_script:
|
|
- ./scripts/ci/print-logs.sh
|
|
- ./scripts/ci/after-script.sh
|
|
|
|
notifications:
|
|
webhooks:
|
|
urls:
|
|
- https://webhooks.gitter.im/e/1ef62e23078036f9cee4
|
|
# trigger Buildtime Trend Service to parse Travis CI log
|
|
- https://buildtimetrend.herokuapp.com/travis
|
|
on_success: always # options: [always|never|change] default: always
|
|
on_failure: always # options: [always|never|change] default: always
|
|
on_start: false # default: false
|
|
slack:
|
|
secure: EP4MzZ8JMyNQJ4S3cd5LEPWSMjC7ZRdzt3veelDiOeorJ6GwZfCDHncR+4BahDzQAuqyE/yNpZqaLbwRWloDi15qIUsm09vgl/1IyNky1Sqc6lEknhzIXpWSalo4/T9ZP8w870EoDvM/UO+LCV99R3wS8Nm9o99eLoWVb2HIUu0=
|
|
|
|
deploy:
|
|
- provider: gcs
|
|
# This is for project angular-github-babysitter
|
|
access_key_id: GOOGIOQTDBEOPBUAWFZQ
|
|
secret_access_key:
|
|
secure: "MEDggllZ5fw4wI9CEUi8WR6jKsKXqdRF/DLxSNC2JpzM5RlVeBm0uqjntYT1Cf1dASvQ2/+vZCUikL/3A48NcoEYRHXGmxu8D6t/SvleQD8Xv434xFOdsa2QqP/HiCtqCLOI5jJz1JVoB5nNyKKZ33ogTUL1LV1TfcrAioyizW8="
|
|
# this bucket has a lifecycle to delete after 90 days:
|
|
# $ echo '{"rule": [{"action": {"type": "Delete"}, "condition": {"age": 90}}]}' > lifecycle.json
|
|
# $ gsutil lifecycle set lifecycle.json gs://angular2-snapshots
|
|
bucket: angular2-snapshots
|
|
# don't delete generated files
|
|
skip_cleanup: true
|
|
# serve to public at https://storage.googleapis.com/angular2-snapshots/SHA/dart_stable/dist.tgz
|
|
acl: public-read
|
|
# upload the .tgz archive created in scripts/ci/build_and_test.sh
|
|
local-dir: deploy
|
|
# create a "subdirectory" for each commit
|
|
upload-dir: $TRAVIS_COMMIT/dart_stable
|
|
on:
|
|
branch: master
|
|
repo: angular/angular
|
|
condition: "$MODE = dart && $DART_CHANNEL = stable"
|
|
- provider: gcs
|
|
access_key_id: GOOGIOQTDBEOPBUAWFZQ
|
|
secret_access_key:
|
|
secure: "MEDggllZ5fw4wI9CEUi8WR6jKsKXqdRF/DLxSNC2JpzM5RlVeBm0uqjntYT1Cf1dASvQ2/+vZCUikL/3A48NcoEYRHXGmxu8D6t/SvleQD8Xv434xFOdsa2QqP/HiCtqCLOI5jJz1JVoB5nNyKKZ33ogTUL1LV1TfcrAioyizW8="
|
|
bucket: angular2-snapshots
|
|
skip_cleanup: true
|
|
acl: public-read
|
|
local-dir: deploy
|
|
upload-dir: $TRAVIS_COMMIT/js
|
|
on:
|
|
branch: master
|
|
repo: angular/angular
|
|
condition: "$MODE = js"
|