diff --git a/.travis.yml b/.travis.yml index e725539..03faa54 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,7 @@ env: - ROSWELL_BRANCH=master - ROSWELL_INSTALL_DIR=$HOME/.roswell matrix: + - METHOD=cross XCC=i686-w64-mingw32-gcc HOST="--host=i686-w64-mingw32" PREFIX="--prefix=/usr/i686-w64-mingw32" - METHOD=documents - METHOD=valgrind XCFLAGS="-g -O0" - METHOD=brew @@ -18,7 +19,6 @@ env: - METHOD=ci LISP=ccl-bin - METHOD=ci LISP=cmucl - METHOD=ci LISP=sbcl-bin - - METHOD=cross XCC=i686-w64-mingw32-gcc HOST="--host=i686-w64-mingw32" PREFIX="--prefix=/usr/i686-w64-mingw32" os: - osx - linux @@ -28,6 +28,9 @@ matrix: env: METHOD=cross XCC=i686-w64-mingw32-gcc HOST="--host=i686-w64-mingw32" PREFIX="--prefix=/usr/i686-w64-mingw32" - os: osx env: METHOD=documents + - os: osx + env: METHOD=valgrind XCFLAGS="-g -O0" + branches: except: - /^v[0-9]/ @@ -41,20 +44,21 @@ branches: # - wine before_install: + - date - 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" = "linux" ] && ([ "$METHOD" = "brew" ] || [ "$METHOD" = "documents" ]); then sudo apt-get install -qq pandoc; fi - - if ([ "$TRAVIS_OS_NAME" = "osx" ] && ([ "$METHOD" = "ci" ] || [ "$METHOD" = "test" ])) || [ "$METHOD" = "brew" ]; then brew update;brew --env;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 + - if [ "$METHOD" = "brew" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then yes ""| ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)"; fi + - if [ "$METHOD" = "documents" ]; then sudo apt-get install -qq pandoc; fi + - if [ "$METHOD" = "brew" ] || [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update;brew --env;brew config; fi + - if [ x$XCC = xi686-w64-mingw32-gcc ]; then sudo apt-get install -qq gcc-mingw-w64-i686 binutils-mingw-w64-i686; fi + - if [ x$WINE != x ]; then sudo apt-get install -qq wine > /dev/null; fi + - if [ "$METHOD" = "cross" ] && [ x$TRAVIS_TAG != x ]; then sudo apt-get install -qq lcab > /dev/null; fi + - if [ "$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 + - if [ "$METHOD" = "cross" ] && [ x$TRAVIS_TAG != x ]; then git clone https://github.com/snmsts/sn.github.git ~/lisp/sn.github; fi script: - - if [ "$METHOD" = "documents" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then sh bootstrap;./configure --enable-manual-generation --enable-html-generation;make clean;make;sudo make install; fi + - if [ "$METHOD" = "documents" ]; then sh bootstrap;./configure --enable-manual-generation --enable-html-generation;make clean;make;sudo make install; fi - 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 @@ -68,15 +72,15 @@ script: - 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 && [`ros -q run 2>&1` == ""]; fi - if [ "$METHOD" = "ci" ] && [ "$LISP" = "sbcl-bin" ]; then [`ros -e "(ros:ignore-shebang)" -e '(loop for x in (directory "src/lisp/*.ros") do (load x))' 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 + - if [ "$METHOD" = "cross" ]; then CC=$XCC ./configure ${PREFIX} ${HOST};make; fi after_success: - - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$METHOD" = "documents" ]; then git branch;git status; fi - - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$METHOD" = "documents" ]; then git config user.email "doc@example.com"; fi - - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$METHOD" = "documents" ]; then git config user.name "Travis-CI"; fi - - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$METHOD" = "documents" ]; then git checkout master;git add -u;git commit -m "[ci skip] documents update"; fi - - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$METHOD" = "documents" ] && [ "$TRAVIS_BRANCH" = "master" ]; then git push --force --quiet "https://${GITHUB_OAUTH_TOKEN}:x-oauth-basic@github.com/snmsts/roswell.git" master > /dev/null 2>&1; fi + - if [ "$METHOD" = "cross" ] && [ x$TRAVIS_TAG != x ]; then lcab -q src/ros.exe src/lisp/* ros-$XCC.cab; fi + - if [ "$METHOD" = "cross" ] && [ x$TRAVIS_TAG != x ]; then ros ./scripts/release.ros github ros-$XCC.cab; fi + - if [ "$METHOD" = "documents" ]; then git branch;git status; fi + - if [ "$METHOD" = "documents" ]; then git config user.email "doc@example.com"; fi + - if [ "$METHOD" = "documents" ]; then git config user.name "Travis-CI"; fi + - if [ "$METHOD" = "documents" ]; then git checkout master;git add -u;git commit -m "[ci skip] documents update"; fi + - if [ "$METHOD" = "documents" ] && [ "$TRAVIS_BRANCH" = "master" ]; then git push --force --quiet "https://${GITHUB_OAUTH_TOKEN}:x-oauth-basic@github.com/snmsts/roswell.git" master > /dev/null 2>&1; fi + - if [ "$METHOD" = "valgrind" ]; then ros setup; fi + - if [ "$METHOD" = "valgrind" ]; then valgrind --leak-check=yes ros config; fi