X-Git-Url: http://git.hcoop.net/jackhill/mal.git/blobdiff_plain/b26b1bcfa0252ec1d7c2dbc7389d12ee0675e3f1..c3a87f5174c9a5c8d10f46bc1d708e0a77274c2c:/.travis.yml diff --git a/.travis.yml b/.travis.yml dissimilarity index 68% index e8e0ff65..febc8719 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,74 +1,77 @@ -sudo: required - -#language: node_js - -services: - - docker - -# matrix layout based on: -# https://github.com/libressl-portable/portable/blob/9e090286b55def5ca2c0cc375c65023a70d8796e/.travis.yml - -matrix: - include: - - env: IMPL=awk - - env: IMPL=bash - - env: IMPL=c - - env: IMPL=cpp - - env: IMPL=coffee - - env: IMPL=cs - - env: IMPL=clojure - - env: IMPL=crystal - - env: IMPL=elixir - - env: IMPL=erlang NO_PERF=1 # perf runs out of memory - - env: IMPL=es6 - - env: IMPL=factor - - env: IMPL=forth - - env: IMPL=fsharp - - env: IMPL=go - - env: IMPL=groovy - - env: IMPL=guile - - env: IMPL=haskell - - env: IMPL=java - - env: IMPL=js - - env: IMPL=julia - - env: IMPL=kotlin - - env: IMPL=lua - - env: IMPL=make - - env: IMPL=mal BUILD_IMPL=js NO_PERF=1 - #- env: IMPL=matlab # licensed (until port to Octave) - - env: IMPL=miniMAL BUILD_IMPL=js - - env: IMPL=nim - - env: IMPL=ocaml - - env: IMPL=perl - - env: IMPL=php - - env: IMPL=ps - - env: IMPL=python - - env: IMPL=r - - env: IMPL=racket - - env: IMPL=rpython - - env: IMPL=ruby - - env: IMPL=rust - - env: IMPL=scala - - env: IMPL=swift NO_DOCKER=1 - os: osx - osx_image: xcode7 - - env: IMPL=tcl - - env: IMPL=vimscript NO_PERF=1 # /dev/stdout not writable - - env: IMPL=vb - -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 +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