X-Git-Url: http://git.hcoop.net/jackhill/mal.git/blobdiff_plain/7755014c7b89fab2970cdef591d18e06e33053b3..c3a87f5174c9a5c8d10f46bc1d708e0a77274c2c:/.travis.yml diff --git a/.travis.yml b/.travis.yml dissimilarity index 96% index fc00376a..febc8719 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,94 +1,77 @@ -sudo: required - -language: node - -services: - - docker - -matrix: - include: -# - env: IMPL=awk -# os: linux -# - env: IMPL=bash -# os: linux -# - env: IMPL=c -# os: linux -# - env: IMPL=cpp -# os: linux -# - env: IMPL=coffee -# os: linux -# - env: IMPL=cs -# os: linux -# - env: IMPL=clojure -# os: linux -# - env: IMPL=crystal -# os: linux -# - env: IMPL=elixir -# os: linux -# - env: IMPL=erlang -# os: linux -# - env: IMPL=es6 -# os: linux -# - env: IMPL=factor -# os: linux -# - env: IMPL=forth -# os: linux -# - env: IMPL=fsharp -# os: linux -# - env: IMPL=go -# os: linux -# - env: IMPL=groovy -# os: linux -# - env: IMPL=guile -# os: linux -# - env: IMPL=haskell -# os: linux -# - env: IMPL=java -# os: linux -# - env: IMPL=js -# os: linux -# - env: IMPL=julia -# os: linux -# - env: IMPL=lua -# os: linux -# - env: IMPL=make -# os: linux -# - env: IMPL=mal BUILD_IMPL=js -# os: linux -# #- env: IMPL=matlab # licensed (until port to Octave) -# # os: linux -# #- env: IMPL=miniMAL # repl/string slice bug -# # os: linux -# - env: IMPL=nim -# os: linux -# - env: IMPL=ocaml -# os: linux -# - env: IMPL=perl -# os: linux -# - env: IMPL=php -# os: linux -# - env: IMPL=ps -# os: linux -# - env: IMPL=python -# os: linux -# - env: IMPL=r -# os: linux -# - env: IMPL=racket -# os: linux -# - env: IMPL=rpython -# os: linux -# - env: IMPL=ruby -# os: linux -# - env: IMPL=rust -# os: linux -# - env: IMPL=scala -# os: linux - - env: IMPL=swift - os: osx - osx_image: xcode7 -# - env: IMPL=vb -# os: linux - -script: - - ./.travis_build.sh - - ./.travis_test.sh +sudo: required + +# matrix layout based on: +# https://github.com/libressl-portable/portable/blob/9e090286b55def5ca2c0cc375c65023a70d8796e/.travis.yml + +matrix: + include: + - {env: IMPL=ada, services: [docker]} + - {env: IMPL=awk, services: [docker]} + - {env: IMPL=bash, services: [docker]} + - {env: IMPL=c, services: [docker]} + - {env: IMPL=cpp, services: [docker]} + - {env: IMPL=coffee, services: [docker]} + - {env: IMPL=cs, services: [docker]} + - {env: IMPL=clojure, services: [docker]} + - {env: IMPL=crystal, services: [docker]} + - {env: IMPL=d, services: [docker]} + - {env: IMPL=elisp, services: [docker]} + - {env: IMPL=elixir, services: [docker]} + - {env: IMPL=erlang NO_PERF=1, services: [docker]} # perf runs out of memory + - {env: IMPL=es6, services: [docker]} + - {env: IMPL=factor, services: [docker]} + - {env: IMPL=forth, services: [docker]} + - {env: IMPL=fsharp, services: [docker]} + - {env: IMPL=go, services: [docker]} + - {env: IMPL=groovy, services: [docker]} + - {env: IMPL=guile, services: [docker]} + - {env: IMPL=haskell, services: [docker]} + - {env: IMPL=haxe, services: [docker]} + - {env: IMPL=io, services: [docker]} + - {env: IMPL=java, services: [docker]} + - {env: IMPL=js, services: [docker]} + - {env: IMPL=julia, services: [docker]} + - {env: IMPL=kotlin, services: [docker]} + - {env: IMPL=lua, services: [docker]} + - {env: IMPL=make, services: [docker]} + - {env: IMPL=mal BUILD_IMPL=js NO_PERF=1, services: [docker]} + - {env: IMPL=matlab, services: [docker]} # Uses Octave + - {env: IMPL=miniMAL BUILD_IMPL=js, services: [docker]} + - {env: IMPL=nim, services: [docker]} + - {env: IMPL=objpascal, services: [docker]} + - {env: IMPL=objc NO_DOCKER=1, os: osx, osx_image: xcode7} + - {env: IMPL=objc, services: [docker]} + - {env: IMPL=ocaml, services: [docker]} + - {env: IMPL=perl, services: [docker]} + - {env: IMPL=php, services: [docker]} + - {env: IMPL=ps, services: [docker]} + - {env: IMPL=python, services: [docker]} + - {env: IMPL=r, services: [docker]} + - {env: IMPL=racket, services: [docker]} + - {env: IMPL=rpython, services: [docker]} + - {env: IMPL=ruby, services: [docker]} + - {env: IMPL=rust, services: [docker]} + - {env: IMPL=scala, services: [docker]} + - {env: IMPL=swift NO_DOCKER=1, os: osx, osx_image: xcode7} + - {env: IMPL=swift3, services: [docker]} + - {env: IMPL=swift3 NO_DOCKER=1, os: osx, osx_image: xcode7} + - {env: IMPL=tcl, services: [docker]} + - {env: IMPL=vb, services: [docker]} + - {env: IMPL=vimscript, services: [docker]} + +script: + # Build + - ./.travis_build.sh + + # Regular tests + - ./.travis_test.sh test ${IMPL} + - cat test.err || true + + # NOTE: use self-host-test branch + # Self-hosted tests + #- ./.travis_test.sh test mal ${IMPL} + #- cat test.err || true; rm -f test.err + + # Performance tests + - if [ -z "${NO_PERF}" ]; then ./.travis_test.sh perf ${IMPL}; fi + - cat perf.err || true