dart-sass/.travis.yml
2016-12-09 17:28:08 -08:00

74 lines
2.3 KiB
YAML

# Set the language to Ruby so that we can run sass-spec tests.
language: ruby
env:
# Language specs, defined in sass/sass-spec
- TASK=specs DART_VERSION=latest
- TASK=specs DART_VERSION=1.19.1
# Unit tests, defined in test/.
- TASK=tests DART_VERSION=latest
- TASK=tests DART_VERSION=1.19.1
- TASK=tests DART_VERSION=latest NODE_VERSION=stable
- TASK=tests DART_VERSION=latest NODE_VERSION=v6.9.1
- TASK=tests DART_VERSION=latest NODE_VERSION=v4.6.2
# Miscellaneous checks.
- TASK=analyze DART_VERSION=latest
- TASK=format DART_VERSION=latest
rvm:
- 2.3.1
# Only building master means that we don't run two builds for each pull request.
branches:
only: [master]
cache:
directories:
- $HOME/.pub-cache
install:
- bold=$(tput bold)
- none=$(tput sgr0)
# Install the Dart SDK.
- curl -o dart.zip "https://storage.googleapis.com/dart-archive/channels/stable/release/$DART_VERSION/sdk/dartsdk-linux-x64-release.zip"
- unzip dart.zip
- export PATH="$PATH:`pwd`/dart-sdk/bin"
- pub get
# Install the Node SDK if we're running Node tests.
- if-node() { if [ ! -z "$NODE_VERSION" ]; then "$@"; fi }
- if-node . "$HOME/.nvm/nvm.sh"
- if-node nvm install "$NODE_VERSION"
- if-node nvm use "$NODE_VERSION"
- if-node nvm install
# Download sass-spec and install its dependencies if we're running specs.
- if-specs() { if [ "$TASK" = specs ]; then "$@"; fi }
- if-specs export sass_spec_ref=`tool/sass-spec-ref.sh`
- if-specs git init sass-spec
- if-specs git -C sass-spec fetch git://github.com/sass/sass-spec "$sass_spec_ref" --depth 1
- if-specs git -C sass-spec checkout FETCH_HEAD
- if-specs bundle install --gemfile=sass-spec/Gemfile --jobs=3 --retry=3
script:
- if [ "$TASK" = analyze ]; then
echo "${bold}Analzing Dart code.$none";
dartanalyzer --fatal-warnings lib/ test/;
elif [ "$TASK" = format ]; then
echo "${bold}Ensuring Dart code is formatted.$none";
./tool/assert-formatted.sh;
elif [ "$TASK" = tests ]; then
if [ -z "$NODE_VERSION" ]; then
echo "${bold}Running Dart tests against $(dart --version &> /dev/stdout).$none";
pub run test -x node;
else
echo "${bold}Running Node tests against Node $(node --version).$none";
pub run test -t node;
fi;
else
echo "${bold}Running sass-spec against $(dart --version &> /dev/stdout).$none";
(cd sass-spec; bundle exec sass-spec.rb --dart ..);
fi