blob: f458e351d6b84641864fb4f7bc4529bac9117262 [file] [log] [blame]
language: dart
sudo: required
dist: trusty
dart:
- dev
cache:
directories:
- $HOME/.npm
- $HOME/.nvm
- $HOME/.pub-cache/hosted
- pkg/dev_compiler/node_modules
addons:
firefox: latest
before_install:
# g++4.8.1 setup
- if [ "$CXX" == "g++" ]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; fi
# clang 3.4 setup
- if [ "$CXX" == "clang++" ]; then sudo add-apt-repository -y ppa:h-rayflood/llvm; fi
- sudo apt-get update -qq
# g++4.8.1 install
- if [ "$CXX" = "g++" ]; then sudo apt-get install -qq g++-4.8; fi
- if [ "$CXX" = "g++" ]; then export CXX="g++-4.8"; fi
# clang 3.4 install
- if [ "$CXX" == "clang++" ]; then sudo apt-get install --allow-unauthenticated -qq clang-3.4; fi
- if [ "$CXX" == "clang++" ]; then export CXX="clang++-3.4"; fi
- if [ "$CXX" ]; then $CXX --version ; fi
# Chrome install
- wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- wget https://dl.google.com/linux/direct/google-chrome-unstable_current_amd64.deb
- sudo dpkg -i google-chrome*.deb
- /usr/bin/google-chrome --version
- export CHROME_BIN=/usr/bin/google-chrome
- /usr/bin/google-chrome-unstable --version
- export CHROME_CANARY_BIN=/usr/bin/google-chrome-unstable
# Install Depot Tools
- git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
- export PATH=`pwd`/depot_tools:"$PATH"
# Checkout everything if we're building the SDK
- cd ..
- 'gclient config --spec=''solutions = [ { "name": "sdk", "url": "git@github.com:dart-lang/sdk.git", "deps_file": "DEPS", "managed": False } ]'''
- gclient sync
- cd sdk
# If a C++ compiler is set, build the SDK - else use the preinstalled SDK instead.
- if [ "$CXX" ]; then ./tools/build.py -m release create_sdk ; fi
- if [ "$CXX" ]; then export PATH=`pwd`/out/ReleaseX64/dart-sdk/bin:"$PATH" ; fi
- dart --version
# DDC setup
- cd pkg/dev_compiler
- pub global activate dart_coveralls
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
install:
# Empty to suppress default pub get behavior
before_script:
# Node modules used by DDC
- nvm install 5.5.0
- npm install
script:
# Run DDC tests
- if [[ -z "$TEST" ]]; then ./tool/presubmit.sh ; fi
- if [[ "$TEST" == coverage ]]; then ./tool/build_sdk.sh && ./tool/coverage.sh ; fi
- if [[ "$TEST" == node ]]; then ./tool/node_test.sh ; fi
- if [[ "$TEST" == package ]]; then ./tool/build_sdk.sh && ./tool/build_pkgs.dart ; fi
env:
- ANALYZER=master
- ANALYZER=master DDC_BROWSERS=Firefox
- ANALYZER=master DDC_BROWSERS=ChromeCanaryTravis
- ANALYZER=master CXX=g++
- ANALYZER=master CXX=clang++
- TEST=coverage
- TEST=package
matrix:
allow_failures:
- env: ANALYZER=master CXX=g++
- env: ANALYZER=master DDC_BROWSERS=ChromeCanaryTravis
notifications:
email:
recipients:
- dev-compiler+buildbot@dartlang.org
on_failure: change