From 906fa4e56b80552ebde826caf0191a2bc561ff01 Mon Sep 17 00:00:00 2001 From: Luc Sarzyniec Date: Thu, 4 May 2017 17:56:29 +0200 Subject: [PATCH] Add CI test that runs on different OS/versions Fixes #1 --- .travis.yml | 57 ++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index f22caf5..f9db72c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,59 @@ --- language: crystal -dist: trusty sudo: required -before_install: -- sudo apt-get -qq update -- sudo apt-get install -y pkg-config libicu52 +matrix: + include: + # Linux + - os: linux + dist: precise + - os: linux + dist: trusty + - os: linux + dist: xenial + - os: linux + dist: trusty + env: GENERATE_LIB=1 # regenerate the binding + # OSX + - os: osx + osx_image: xcode8.3 + - os: osx + osx_image: xcode8.3 + env: GENERATE_LIB=1 # regenerate the binding + +before_install: | + case $TRAVIS_OS_NAME in + linux) + sudo apt-get -qq update + if [[ -n $GENERATE_LIB ]]; then + sudo apt-get install -y llvm-3.5-dev libclang-3.5-dev + fi + sudo apt-get install -y libicu-dev + ;; + osx) + brew update + + # FIXME: ugly fix for the CI's image, crystal-lang should not be reinstalled + rm -f /usr/local/bin/shards + brew install crystal-lang + + if [[ -n $GENERATE_LIB ]]; then + # install LLVM and Clang 3.7 + brew install llvm@3.7 + # FIXME: ugly fix since the libclang.dylib is not symlinked correctly + brew list --verbose llvm@3.7 | grep "\.dylib$" | xargs -n1 -I{} ln -sf {} $(brew --prefix)/lib + fi + + brew install icu4c + brew link --force icu4c + ;; + *) + exit 1;; + esac + +before_script: +- "[ -z $GENERATE_LIB ] || make" script: -- crystal tool format --check +- crystal tool format --check src spec - crystal spec