X-Git-Url: https://git.hcoop.net/jackhill/mal.git/blobdiff_plain/4e8d7c28164bdbf7fb46af0ef575f1b1c13ae018..1249126b4a55cb7531d7f4bbaea0a15f8ba1c240:/.travis.yml diff --git a/.travis.yml b/.travis.yml dissimilarity index 89% index a7120220..01217c55 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,99 +1,69 @@ -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 - 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 - - cat test.out - #- cat perf.out +sudo: required + +# matrix layout based on: +# https://github.com/libressl-portable/portable/blob/9e090286b55def5ca2c0cc375c65023a70d8796e/.travis.yml + +matrix: + include: + - {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=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=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=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=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