X-Git-Url: http://git.hcoop.net/jackhill/mal.git/blobdiff_plain/c57f1cbb96644355d4378dd255874d6b4796e8a9..2ffcc4499100a3c9005296dc95c5d84c6ad812f3:/.travis.yml diff --git a/.travis.yml b/.travis.yml dissimilarity index 66% index f6385976..45fc93f2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,72 +1,107 @@ -sudo: required - -language: node - -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=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=vimscript - - 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=basic basic_MODE=cbm, services: [docker]} + - {env: IMPL=basic basic_MODE=qbasic, services: [docker]} + - {env: IMPL=c, services: [docker]} + - {env: IMPL=cpp, services: [docker]} + - {env: IMPL=coffee, services: [docker]} + - {env: IMPL=cs, services: [docker]} + - {env: IMPL=chuck, services: [docker]} + - {env: IMPL=clojure clojure_MODE=clj, services: [docker]} + - {env: IMPL=clojure clojure_MODE=cljs, services: [docker]} + - {env: IMPL=common-lisp, services: [docker]} + - {env: IMPL=crystal, services: [docker]} + - {env: IMPL=d, services: [docker]} + - {env: IMPL=dart, services: [docker]} + - {env: IMPL=elisp, services: [docker]} + - {env: IMPL=elixir, services: [docker]} + - {env: IMPL=elm, 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=gst, services: [docker]} + - {env: IMPL=guile, services: [docker]} + - {env: IMPL=haskell, services: [docker]} + - {env: IMPL=haxe haxe_MODE=neko, services: [docker]} + - {env: IMPL=haxe haxe_MODE=python, services: [docker]} + - {env: IMPL=haxe haxe_MODE=cpp, services: [docker]} + - {env: IMPL=haxe haxe_MODE=js, 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=livescript, services: [docker]} + - {env: IMPL=logo, 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, 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=perl6, services: [docker]} + - {env: IMPL=php, services: [docker]} + - {env: IMPL=pil, services: [docker]} + - {env: IMPL=plpgsql, services: [docker]} +# - {env: IMPL=plsql, services: [docker]} + - {env: IMPL=ps, services: [docker]} + - {env: IMPL=powershell, services: [docker]} + - {env: IMPL=python python_MODE=python2, services: [docker]} + - {env: IMPL=python python_MODE=python3, services: [docker]} + - {env: IMPL=r, services: [docker]} + - {env: IMPL=racket, services: [docker]} + - {env: IMPL=rexx, services: [docker]} + - {env: IMPL=rpython, services: [docker]} + - {env: IMPL=ruby, services: [docker]} + - {env: IMPL=rust, services: [docker]} + - {env: IMPL=scala, services: [docker]} + - {env: IMPL=scheme scheme_MODE=chibi, services: [docker]} + - {env: IMPL=scheme scheme_MODE=kawa, services: [docker]} + - {env: IMPL=scheme scheme_MODE=gauche, services: [docker]} + - {env: IMPL=scheme scheme_MODE=chicken, services: [docker]} + - {env: IMPL=scheme scheme_MODE=sagittarius, services: [docker]} + - {env: IMPL=scheme scheme_MODE=cyclone, services: [docker]} +# - {env: IMPL=scheme scheme_MODE=foment, services: [docker]} + - {env: IMPL=skew, 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: xcode8} + - {env: IMPL=tcl, services: [docker]} + - {env: IMPL=ts, services: [docker]} + - {env: IMPL=vb, services: [docker]} + - {env: IMPL=vhdl, 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