| language: dart |
| sudo: required |
| dist: trusty |
| dart: |
| - dev |
| cache: |
| directories: |
| - $HOME/.npm |
| - $HOME/.nvm |
| - $HOME/.pub-cache/hosted |
| - pkg/dev_compiler/node_modules |
| 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 |
| |
| # 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 |
| - 'gclient config --spec=''solutions = [ { "name": ".", "url": "git@github.com:dart-lang/sdk.git", "deps_file": "DEPS", "managed": False, "custom_vars": { "dart_root": "." } } ]''' |
| - if [ "$CXX" ]; then gclient sync ; fi |
| |
| # If a C++ compiler is set, built the SDK - else keep the preinstalled. |
| - 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 CHROME_CANARY_BIN=`./tool/get_chrome_canary.sh` |
| - export DISPLAY=:99.0 |
| - sh -e /etc/init.d/xvfb start |
| 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 |
| env: |
| - ANALYZER=master |
| - ANALYZER=master CXX=g++ |
| - ANALYZER=master CXX=clang++ |
| - TEST=coverage |
| - TEST=node |
| matrix: |
| allow_failures: |
| - env: TEST=node |
| - env: ANALYZER=master CXX=clang++ |