Improve travis configuration
diff --git a/.travis.yml b/.travis.yml
index 0ceff2e..f680a49 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,19 +1,33 @@
language: dart
sudo: false
dart:
- - stable
- dev
- - 1.19.0
- - 1.18.1
- - 1.17.1
+ - stable
+ - 1.21.0
+ - 1.20.1
+ - 1.19.1
+with_content_shell: true
+env:
+ - TEST_PLATFORM=vm
+ - TEST_PLATFORM=content-shell
+ - TEST_PLATFORM=firefox
cache:
directories:
- $HOME/.pub-cache
-with_content_shell: true
-addons:
- firefox: "latest"
before_script:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- 't=0; until (xdpyinfo -display :99 &> /dev/null || test $t -gt 10); do sleep 1; let t=$t+1; done'
script: ./tool/travis.sh
+matrix:
+ allow_failures:
+ # Exclude SDKs before 1.22.0-dev.4 which are lacking fix
+ # https://github.com/dart-lang/sdk/commit/7c3c297a8ad907f12bf12b96a21777421067fd18
+ - dart: stable
+ env: TEST_PLATFORM=firefox
+ - dart: 1.21.0
+ env: TEST_PLATFORM=firefox
+ - dart: 1.20.1
+ env: TEST_PLATFORM=firefox
+ - dart: 1.19.1
+ env: TEST_PLATFORM=firefox
diff --git a/tool/travis.sh b/tool/travis.sh
index 6604af3..2c47a31 100755
--- a/tool/travis.sh
+++ b/tool/travis.sh
@@ -3,10 +3,17 @@
# Fast fail the script on failures.
set -e
-pub run test -p vm,content-shell,firefox -j 1
+THE_COMMAND="pub run test -p $TEST_PLATFORM"
+if [ $TEST_PLATFORM == 'firefox' ] || [ $TEST_PLATFORM == 'content-shell' ]; then
+ # browser tests don't run well on travis unless one-at-a-time
+ THE_COMMAND="$THE_COMMAND -j 1"
+fi
+
+echo $THE_COMMAND
+exec $THE_COMMAND
# Install dart_coveralls; gather and send coverage data.
-if [ "$COVERALLS_TOKEN" ] && [ "$TRAVIS_DART_VERSION" = "stable" ]; then
+if [ $TEST_PLATFORM == 'vm' ] && [ "$COVERALLS_TOKEN" ] && [ "$TRAVIS_DART_VERSION" = "stable" ]; then
pub global activate dart_coveralls
pub global run dart_coveralls report \