1
1
mirror of https://github.com/kanaka/mal.git synced 2024-11-11 00:52:44 +03:00
mal/.travis.yml
Joel Martin 8914943790 wasm: enable execution with Node
Add node mode to travis alongside wace_libc.
2018-12-09 22:55:49 -06:00

114 lines
5.1 KiB
YAML

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, services: [docker]} # perf runs out of memory
- {env: IMPL=es6, services: [docker]}
- {env: IMPL=factor, services: [docker]}
- {env: IMPL=fantom, services: [docker]}
- {env: IMPL=forth, services: [docker]}
- {env: IMPL=fsharp, services: [docker]}
- {env: IMPL=go, services: [docker]}
- {env: IMPL=groovy, services: [docker]}
- {env: IMPL=gnu-smalltalk, 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=hy, 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, services: [docker]}
- {env: IMPL=matlab, services: [docker]} # Uses Octave
- {env: IMPL=miniMAL, services: [docker]}
- {env: IMPL=nasm, 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=picolisp, 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.3}
- {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]}
- {env: IMPL=wasm wasm_MODE=wace_libc, services: [docker]}
- {env: IMPL=wasm wasm_MODE=node, services: [docker]}
- {env: IMPL=yorick, 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