roswell.roswell/.travis.yml
2015-10-31 01:12:01 +09:00

69 lines
3.9 KiB
YAML

language: common-lisp
sudo: required
env:
global:
- PATH=~/.roswell/bin:~/.linuxbrew/bin:$PATH
- ROSWELL_BRANCH=master
- ROSWELL_INSTALL_DIR=$HOME/.roswell
matrix:
- METHOD=valgrind XCFLAGS="-g -O0"
- METHOD=cross XCC=i686-w64-mingw32-gcc HOST="--host=i686-w64-mingw32" PREFIX="--prefix=/usr/i686-w64-mingw32"
- METHOD=brew
- METHOD=test LISP=sbcl/1.1.14
- METHOD=ci LISP=sbcl
- METHOD=ci LISP=ecl
- METHOD=ci LISP=clisp
- METHOD=ci LISP=alisp
- METHOD=ci LISP=abcl
- METHOD=ci LISP=ccl-bin
- METHOD=ci LISP=cmucl
- METHOD=ci LISP=sbcl-bin
os:
- linux
- osx
matrix:
exclude:
- os: osx
METHOD: cross
# addons:
# apt:
# packages:
# - gcc-multilib
# - gcc-mingw-w64-i686
# - binutils-mingw-w64-i686
# - wine
before_install:
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get -qq update --force-yes > /dev/null; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$METHOD" = "brew" ]; then yes ""| ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)"; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ] || [ "$METHOD" = "brew" ]; then brew update; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ] || [ "$METHOD" = "brew" ]; then brew --env; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ] || [ "$METHOD" = "brew" ]; then brew config; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ x$XCC = xi686-w64-mingw32-gcc ]; then sudo apt-get install -qq gcc-mingw-w64-i686 binutils-mingw-w64-i686; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ x$WINE != x ]; then sudo apt-get install -qq wine > /dev/null; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ x$TRAVIS_TAG != x ]; then sudo apt-get install -qq lcab > /dev/null; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$METHOD" = "valgrind" ]; then sudo apt-get install -qq valgrind > /dev/null; fi
install:
- if [ "$METHOD" = "brew" ]; then brew tap snmsts/roswell; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ x$TRAVIS_TAG != x ] && [ "$METHOD" = "cross" ]; then git clone https://github.com/snmsts/sn.github.git ~/lisp/sn.github; fi
script:
- if [ "$METHOD" = "cross" ]; then find . \( -name \*.c -o -name \*.h \) -type f|xargs wc -l -c; fi
- if [ "$METHOD" = "cross" ]; then find . \( -name \*.go \) -type f|xargs wc -l -c; fi
- if [ "$METHOD" = "cross" ]; then find . \( -name \*.lisp -o -name \*.ros \) -type f|xargs wc -l -c; fi
- if [ "$METHOD" = "brew" ]; then brew install roswell --verbose --HEAD; fi
- if [ "$METHOD" = "ci" ]; then sh ./scripts/install-for-ci.sh; fi
- if [ "$METHOD" = "test" ] || ([ "$TRAVIS_OS_NAME" = "linux" ] && ([ "$METHOD" = "cross" ] || [ "$METHOD" = "valgrind" ])); then sh bootstrap;CFLAGS=$XCFLAGS ./configure --disable-dependency-tracking --disable-maintainer-mode;make;sudo make install;make maintainer-clean; fi
- if [ "$METHOD" = "test" ]; then ros install $LISP; fi
- if [ "$METHOD" = "test" ] || [ "$METHOD" = "brew" ] || [ "$METHOD" = "ci" ]; then ros version; fi
- if [ "$METHOD" = "test" ] || [ "$METHOD" = "brew" ] || [ "$METHOD" = "ci" ]; then ros version=t run; fi
- if [ "$METHOD" = "test" ] || [ "$METHOD" = "brew" ] || [ "$METHOD" = "ci" ]; then ros config; fi
- if [ "$METHOD" = "test" ] || [ "$METHOD" = "brew" ] || [ "$METHOD" = "ci" ]; then ros -s prove-asdf -s quri-test -e "(asdf:test-system :quri-test)"; fi
- if [ "$METHOD" = "ci" ]; then [`ros -q run 2>&1` == ""]; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$METHOD" = "cross" ]; then CC=$XCC ./configure ${PREFIX} ${HOST};make; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ x$TRAVIS_TAG != x ] && [ "$METHOD" = "cross" ]; then lcab -q src/ros.exe src/lisp/* ros-$XCC.cab; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ x$TRAVIS_TAG != x ] && [ "$METHOD" = "cross" ]; then ros ./scripts/release.ros github ros-$XCC.cab; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$METHOD" = "valgrind" ]; then ros setup; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$METHOD" = "valgrind" ]; then valgrind --leak-check=yes ros config; fi