30bd2a3fc7
We discussed last week that our build has been steadily getting longer. We should track the time so we can easily notice that it went up and find the culprit. This hooks us up to https://buildtimetrend.herokuapp.com/ which seems capable and very quick to setup. We can easily gather the data and then evaluate the dashboard. Note that we want to have two different webhooks, and only notify gitter on transitions, but we want to have timing for all builds, since a series of passing builds might have a big jump in build time in the middle. I don't see how to do this with travis.yml so I've overnotified gitter.
111 lines
3.6 KiB
YAML
111 lines
3.6 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
|
|
- 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"}'
|
|
matrix:
|
|
- MODE=js DART_CHANNEL=dev
|
|
- MODE=dart DART_CHANNEL=stable
|
|
- MODE=dart DART_CHANNEL=dev
|
|
- MODE=dart_experimental 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
|
|
|
|
script:
|
|
- ./scripts/ci/build_and_test.sh ${MODE}
|
|
|
|
after_script:
|
|
- ./scripts/ci/print-logs.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"
|