| 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 |