blob: 6dc20a42a6af1972e05ff1b24a2d25067ee4e496 [file] [log] [blame] [edit]
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 to pull in sdk and third_party dart packages
- cd ..
- 'gclient config --spec=''solutions = [ { "name": "sdk", "url": "git@github.com:dart-lang/sdk.git", "deps_file": "DEPS", "managed": False } ]'''
- gclient sync -n
- download_from_google_storage --no_auth --no_resume --bucket dart-dependencies --extract -s sdk/third_party/pkg/unittest.tar.gz.sha1
- cd sdk
# If a C++ compiler is set, run hooks and build the SDK - else use the preinstalled SDK instead.
- export DART_USE_GYP=1
- if [ "$CXX" ]; then gclient runhooks ; fi
- 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 6.9.1
- 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
# TODO(vsm): We don't get much value from this for DDC & it eats up travis
# cycles. Consider adding back at some point to test the built dartdevc
# snapshot.
# - ANALYZER=master CXX=clang++
- TEST=coverage
- TEST=package
matrix:
allow_failures:
- env: ANALYZER=master CXX=clang++
- env: ANALYZER=master DDC_BROWSERS=ChromeCanaryTravis
notifications:
email:
recipients:
- dev-compiler+buildbot@dartlang.org
on_failure: change