mirror of
https://github.com/dart-lang/sdk
synced 2024-09-05 08:24:39 +00:00
![Bob Nystrom](/assets/img/avatar_default.png)
This involves a few pieces: - Add support to DDC for specifying the module name associated with a given summary. This lets test.dart invoke DDC using summaries in the build directory outside of the directory containing the test itself. - Add support to the build scripts for building the packages. This adds a new GN target that builds everything needed to run test.dart with dartdevc. In particular, it invokes build_pkgs.dart to compile the relevant packages to JS+summary so that the tests can use them. This requires some changes to build_pkgs.dart so it can output to a given directory. - In test.dart, when tests are compiled with dartdevc, pass in the summaries for the packages so they don't get compiled in. Then, when the test is run, configure require.js with the right paths to their JS files so they can be loaded. I also removed a bunch of unneeded buildDir parameters being passed around the various CompilerConfiguration class methods now that they have direct access to the configuration. Fix #29923. R=vsm@google.com, whesse@google.com, zra@google.com Review-Url: https://codereview.chromium.org/2955513002 .
96 lines
3.3 KiB
YAML
96 lines
3.3 KiB
YAML
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 gen/codegen_output/pkg travis; 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
|