Merge pull request #378 from asarhaddon/test-macro-not-changing-function
[jackhill/mal.git] / .travis.yml
CommitLineData
cf1d3eae
JM
1sudo: required
2
4e8d7c28
JM
3# matrix layout based on:
4# https://github.com/libressl-portable/portable/blob/9e090286b55def5ca2c0cc375c65023a70d8796e/.travis.yml
5
1fef97e2
JM
6matrix:
7 include:
1606c355 8 - {env: IMPL=ada, services: [docker]}
0b4ab1a5 9 - {env: IMPL=ada.2, services: [docker]}
908e46ea
JM
10 - {env: IMPL=awk, services: [docker]}
11 - {env: IMPL=bash, services: [docker]}
115e430d
JM
12 - {env: IMPL=basic basic_MODE=cbm, services: [docker]}
13 - {env: IMPL=basic basic_MODE=qbasic, services: [docker]}
908e46ea
JM
14 - {env: IMPL=c, services: [docker]}
15 - {env: IMPL=cpp, services: [docker]}
16 - {env: IMPL=coffee, services: [docker]}
17 - {env: IMPL=cs, services: [docker]}
bbff44bc 18 - {env: IMPL=chuck, services: [docker]}
2d76e877
JM
19 - {env: IMPL=clojure clojure_MODE=clj, services: [docker]}
20 - {env: IMPL=clojure clojure_MODE=cljs, services: [docker]}
b5e99959 21 - {env: IMPL=common-lisp, services: [docker]}
908e46ea 22 - {env: IMPL=crystal, services: [docker]}
c424b18d
JM
23 - {env: IMPL=d d_MODE=gdc, services: [docker]}
24 - {env: IMPL=d d_MODE=ldc2, services: [docker]}
25 - {env: IMPL=d d_MODE=dmd, services: [docker]}
7cdce420 26 - {env: IMPL=dart, services: [docker]}
cd799451 27 - {env: IMPL=elisp, services: [docker]}
908e46ea 28 - {env: IMPL=elixir, services: [docker]}
f38c7ffa 29 - {env: IMPL=elm, services: [docker]}
a520ffd9 30 - {env: IMPL=erlang, services: [docker]} # perf runs out of memory
908e46ea
JM
31 - {env: IMPL=es6, services: [docker]}
32 - {env: IMPL=factor, services: [docker]}
80beb411 33 - {env: IMPL=fantom, services: [docker]}
908e46ea
JM
34 - {env: IMPL=forth, services: [docker]}
35 - {env: IMPL=fsharp, services: [docker]}
36 - {env: IMPL=go, services: [docker]}
37 - {env: IMPL=groovy, services: [docker]}
808c940d 38 - {env: IMPL=gnu-smalltalk, services: [docker]}
908e46ea
JM
39 - {env: IMPL=guile, services: [docker]}
40 - {env: IMPL=haskell, services: [docker]}
2d76e877
JM
41 - {env: IMPL=haxe haxe_MODE=neko, services: [docker]}
42 - {env: IMPL=haxe haxe_MODE=python, services: [docker]}
43 - {env: IMPL=haxe haxe_MODE=cpp, services: [docker]}
44 - {env: IMPL=haxe haxe_MODE=js, services: [docker]}
ccab8f59 45 - {env: IMPL=hy, services: [docker]}
8bbebed6 46 - {env: IMPL=io, services: [docker]}
908e46ea
JM
47 - {env: IMPL=java, services: [docker]}
48 - {env: IMPL=js, services: [docker]}
49 - {env: IMPL=julia, services: [docker]}
50 - {env: IMPL=kotlin, services: [docker]}
0af8fd20 51 - {env: IMPL=livescript, services: [docker]}
4eb88ef2 52 - {env: IMPL=logo, services: [docker]}
908e46ea
JM
53 - {env: IMPL=lua, services: [docker]}
54 - {env: IMPL=make, services: [docker]}
53c3bccc 55 - {env: IMPL=mal BUILD_IMPL=js, services: [docker]}
47699629 56 - {env: IMPL=matlab, services: [docker]} # Uses Octave
a0e89ae4 57 - {env: IMPL=miniMAL, services: [docker]}
39b031b7 58 - {env: IMPL=nasm, services: [docker]}
908e46ea 59 - {env: IMPL=nim, services: [docker]}
b7550ec2 60 - {env: IMPL=objpascal, services: [docker]}
2faae94c
JM
61 - {env: IMPL=objc NO_DOCKER=1, os: osx, osx_image: xcode7}
62 - {env: IMPL=objc, services: [docker]}
908e46ea
JM
63 - {env: IMPL=ocaml, services: [docker]}
64 - {env: IMPL=perl, services: [docker]}
0208e17e 65 - {env: IMPL=perl6, services: [docker]}
908e46ea 66 - {env: IMPL=php, services: [docker]}
808c940d 67 - {env: IMPL=picolisp, services: [docker]}
7fa2dba7 68 - {env: IMPL=plpgsql, services: [docker]}
28999483 69# - {env: IMPL=plsql, services: [docker]}
908e46ea 70 - {env: IMPL=ps, services: [docker]}
b1dc6b71 71 - {env: IMPL=powershell, services: [docker]}
2d76e877
JM
72 - {env: IMPL=python python_MODE=python2, services: [docker]}
73 - {env: IMPL=python python_MODE=python3, services: [docker]}
908e46ea
JM
74 - {env: IMPL=r, services: [docker]}
75 - {env: IMPL=racket, services: [docker]}
a66c6400 76 - {env: IMPL=rexx, services: [docker]}
908e46ea
JM
77 - {env: IMPL=rpython, services: [docker]}
78 - {env: IMPL=ruby, services: [docker]}
79 - {env: IMPL=rust, services: [docker]}
80 - {env: IMPL=scala, services: [docker]}
b58ce6c4
VS
81 - {env: IMPL=scheme scheme_MODE=chibi, services: [docker]}
82 - {env: IMPL=scheme scheme_MODE=kawa, services: [docker]}
83 - {env: IMPL=scheme scheme_MODE=gauche, services: [docker]}
84 - {env: IMPL=scheme scheme_MODE=chicken, services: [docker]}
85 - {env: IMPL=scheme scheme_MODE=sagittarius, services: [docker]}
86 - {env: IMPL=scheme scheme_MODE=cyclone, services: [docker]}
0777a9a7 87# - {env: IMPL=scheme scheme_MODE=foment, services: [docker]}
034e82ad 88 - {env: IMPL=skew, services: [docker]}
3ea9bb94 89 - {env: IMPL=swift NO_DOCKER=1, os: osx, osx_image: xcode7.3}
648fd4b3 90 - {env: IMPL=swift3, services: [docker]}
a3a6f680 91 - {env: IMPL=swift3 NO_DOCKER=1, os: osx, osx_image: xcode8}
2c1c2660 92 - {env: IMPL=swift4, services: [docker]}
93 - {env: IMPL=swift4 NO_DOCKER=1, os: osx, osx_image: xcode10}
908e46ea 94 - {env: IMPL=tcl, services: [docker]}
db885df9 95 - {env: IMPL=ts, services: [docker]}
846a226b 96 - {env: IMPL=vala, services: [docker]}
908e46ea 97 - {env: IMPL=vb, services: [docker]}
d1405373 98 - {env: IMPL=vhdl, services: [docker]}
908e46ea 99 - {env: IMPL=vimscript, services: [docker]}
dad306ed 100 - {env: IMPL=wasm wasm_MODE=wasmtime, services: [docker]}
030f725c 101 - {env: IMPL=wasm wasm_MODE=wax, services: [docker]}
89149437 102 - {env: IMPL=wasm wasm_MODE=node, services: [docker]}
dad306ed 103 - {env: IMPL=wasm wasm_MODE=wace_libc, services: [docker]}
53619a6e 104 - {env: IMPL=wasm wasm_MODE=warpy, services: [docker]}
d64619ac 105 - {env: IMPL=yorick, services: [docker]}
cf1d3eae
JM
106
107script:
531a98a9 108 # Build
7755014c 109 - ./.travis_build.sh
531a98a9
JM
110
111 # Regular tests
112 - ./.travis_test.sh test ${IMPL}
d38e62e5 113 - cat test.err || true
531a98a9 114
2cba0ca0 115 # NOTE: use self-host-test branch
531a98a9 116 # Self-hosted tests
2cba0ca0
JM
117 #- ./.travis_test.sh test mal ${IMPL}
118 #- cat test.err || true; rm -f test.err
531a98a9
JM
119
120 # Performance tests
a77aaa74 121 - if [ -z "${NO_PERF}" ]; then ./.travis_test.sh perf ${IMPL}; fi
d38e62e5 122 - cat perf.err || true