Merge pull request #228 from fredim/swift3
[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]}
908e46ea
JM
9 - {env: IMPL=awk, services: [docker]}
10 - {env: IMPL=bash, services: [docker]}
11 - {env: IMPL=c, services: [docker]}
12 - {env: IMPL=cpp, services: [docker]}
13 - {env: IMPL=coffee, services: [docker]}
14 - {env: IMPL=cs, services: [docker]}
15 - {env: IMPL=clojure, services: [docker]}
16 - {env: IMPL=crystal, services: [docker]}
17 - {env: IMPL=d, services: [docker]}
cd799451 18 - {env: IMPL=elisp, services: [docker]}
908e46ea
JM
19 - {env: IMPL=elixir, services: [docker]}
20 - {env: IMPL=erlang NO_PERF=1, services: [docker]} # perf runs out of memory
21 - {env: IMPL=es6, services: [docker]}
22 - {env: IMPL=factor, services: [docker]}
23 - {env: IMPL=forth, services: [docker]}
24 - {env: IMPL=fsharp, services: [docker]}
25 - {env: IMPL=go, services: [docker]}
26 - {env: IMPL=groovy, services: [docker]}
27 - {env: IMPL=guile, services: [docker]}
28 - {env: IMPL=haskell, services: [docker]}
33dec7af 29 - {env: IMPL=haxe, services: [docker]}
8bbebed6 30 - {env: IMPL=io, services: [docker]}
908e46ea
JM
31 - {env: IMPL=java, services: [docker]}
32 - {env: IMPL=js, services: [docker]}
33 - {env: IMPL=julia, services: [docker]}
34 - {env: IMPL=kotlin, services: [docker]}
4eb88ef2 35 - {env: IMPL=logo, services: [docker]}
908e46ea
JM
36 - {env: IMPL=lua, services: [docker]}
37 - {env: IMPL=make, services: [docker]}
38 - {env: IMPL=mal BUILD_IMPL=js NO_PERF=1, services: [docker]}
47699629 39 - {env: IMPL=matlab, services: [docker]} # Uses Octave
908e46ea
JM
40 - {env: IMPL=miniMAL BUILD_IMPL=js, services: [docker]}
41 - {env: IMPL=nim, services: [docker]}
b7550ec2 42 - {env: IMPL=objpascal, services: [docker]}
2faae94c
JM
43 - {env: IMPL=objc NO_DOCKER=1, os: osx, osx_image: xcode7}
44 - {env: IMPL=objc, services: [docker]}
908e46ea
JM
45 - {env: IMPL=ocaml, services: [docker]}
46 - {env: IMPL=perl, services: [docker]}
0208e17e 47 - {env: IMPL=perl6, services: [docker]}
908e46ea 48 - {env: IMPL=php, services: [docker]}
7fa2dba7 49 - {env: IMPL=plpgsql, services: [docker]}
28999483 50# - {env: IMPL=plsql, services: [docker]}
908e46ea
JM
51 - {env: IMPL=ps, services: [docker]}
52 - {env: IMPL=python, services: [docker]}
53 - {env: IMPL=r, services: [docker]}
54 - {env: IMPL=racket, services: [docker]}
55 - {env: IMPL=rpython, services: [docker]}
56 - {env: IMPL=ruby, services: [docker]}
57 - {env: IMPL=rust, services: [docker]}
58 - {env: IMPL=scala, services: [docker]}
59 - {env: IMPL=swift NO_DOCKER=1, os: osx, osx_image: xcode7}
648fd4b3 60 - {env: IMPL=swift3, services: [docker]}
6b6a66d0 61 - {env: IMPL=swift3 NO_DOCKER=1, os: osx, osx_image: xcode7}
908e46ea
JM
62 - {env: IMPL=tcl, services: [docker]}
63 - {env: IMPL=vb, services: [docker]}
d1405373 64 - {env: IMPL=vhdl, services: [docker]}
908e46ea 65 - {env: IMPL=vimscript, services: [docker]}
cf1d3eae
JM
66
67script:
531a98a9 68 # Build
7755014c 69 - ./.travis_build.sh
531a98a9
JM
70
71 # Regular tests
72 - ./.travis_test.sh test ${IMPL}
d38e62e5 73 - cat test.err || true
531a98a9 74
2cba0ca0 75 # NOTE: use self-host-test branch
531a98a9 76 # Self-hosted tests
2cba0ca0
JM
77 #- ./.travis_test.sh test mal ${IMPL}
78 #- cat test.err || true; rm -f test.err
531a98a9
JM
79
80 # Performance tests
a77aaa74 81 - if [ -z "${NO_PERF}" ]; then ./.travis_test.sh perf ${IMPL}; fi
d38e62e5 82 - cat perf.err || true