yorick: Fix evaluation of empty vectors in steps 2 and 3
[jackhill/mal.git] / .travis.yml
1 sudo: required
2
3 # matrix layout based on:
4 # https://github.com/libressl-portable/portable/blob/9e090286b55def5ca2c0cc375c65023a70d8796e/.travis.yml
5
6 matrix:
7 include:
8 - {env: IMPL=ada, services: [docker]}
9 - {env: IMPL=ada.2, services: [docker]}
10 - {env: IMPL=awk, services: [docker]}
11 - {env: IMPL=bash NO_SELF_HOST=1, services: [docker]} # step8 timeout
12 - {env: IMPL=basic basic_MODE=cbm NO_SELF_HOST=1, services: [docker]} # step4 OOM
13 - {env: IMPL=basic basic_MODE=qbasic NO_SELF_HOST=1, services: [docker]} # step4 OOM
14 - {env: IMPL=bbc-basic, services: [docker]}
15 - {env: IMPL=c, services: [docker]}
16 - {env: IMPL=cpp, services: [docker]}
17 - {env: IMPL=coffee, services: [docker]}
18 - {env: IMPL=cs, services: [docker]}
19 - {env: IMPL=chuck NO_SELF_HOST_PERF=1, services: [docker]} # perf OOM
20 - {env: IMPL=clojure clojure_MODE=clj, services: [docker]}
21 - {env: IMPL=clojure clojure_MODE=cljs, services: [docker]}
22 - {env: IMPL=common-lisp, services: [docker]}
23 - {env: IMPL=crystal, services: [docker]}
24 - {env: IMPL=d d_MODE=gdc, services: [docker]}
25 - {env: IMPL=d d_MODE=ldc2, services: [docker]}
26 - {env: IMPL=d d_MODE=dmd, services: [docker]}
27 - {env: IMPL=dart, services: [docker]}
28 - {env: IMPL=elisp, services: [docker]}
29 - {env: IMPL=elixir, services: [docker]}
30 - {env: IMPL=elm, services: [docker]}
31 - {env: IMPL=erlang NO_SELF_HOST=1, services: [docker]} # step8 OOM
32 - {env: IMPL=es6, services: [docker]}
33 - {env: IMPL=factor, services: [docker]}
34 - {env: IMPL=fantom, services: [docker]}
35 - {env: IMPL=forth, services: [docker]}
36 - {env: IMPL=fsharp, services: [docker]}
37 - {env: IMPL=go, services: [docker]}
38 - {env: IMPL=groovy, services: [docker]}
39 - {env: IMPL=gnu-smalltalk, services: [docker]}
40 - {env: IMPL=guile, services: [docker]}
41 - {env: IMPL=haskell, services: [docker]}
42 - {env: IMPL=haxe haxe_MODE=neko, services: [docker]}
43 - {env: IMPL=haxe haxe_MODE=python, services: [docker]}
44 - {env: IMPL=haxe haxe_MODE=cpp, services: [docker]}
45 - {env: IMPL=haxe haxe_MODE=js, services: [docker]}
46 - {env: IMPL=hy, services: [docker]}
47 - {env: IMPL=io NO_SELF_HOST_PERF=1, services: [docker]} # perf OOM
48 - {env: IMPL=java, services: [docker]}
49 - {env: IMPL=jq, services: [docker]}
50 - {env: IMPL=js, services: [docker]}
51 - {env: IMPL=julia, services: [docker]}
52 - {env: IMPL=kotlin, services: [docker]}
53 - {env: IMPL=livescript, services: [docker]}
54 - {env: IMPL=logo NO_SELF_HOST=1, services: [docker]} # step4 timeout
55 - {env: IMPL=lua, services: [docker]}
56 - {env: IMPL=make NO_SELF_HOST=1, services: [docker]} # step4 timeout
57 - {env: IMPL=mal MAL_IMPL=js BUILD_IMPL=js NO_SELF_HOST=1, services: [docker]}
58 - {env: IMPL=mal MAL_IMPL=js-mal BUILD_IMPL=js NO_SELF_HOST=1 NO_PERF=1, services: [docker]}
59 - {env: IMPL=mal MAL_IMPL=nim BUILD_IMPL=nim NO_SELF_HOST=1, services: [docker]}
60 - {env: IMPL=mal MAL_IMPL=nim-mal BUILD_IMPL=nim NO_SELF_HOST=1 NO_PERF=1, services: [docker]}
61 - {env: IMPL=matlab NO_SELF_HOST_PERF=1, services: [docker]} # Octave, perf timeout
62 - {env: IMPL=miniMAL NO_SELF_HOST_PERF=1, services: [docker]} # perf timeout
63 - {env: IMPL=nasm NO_SELF_HOST_PERF=1, services: [docker]} # perf OOM
64 - {env: IMPL=nim, services: [docker]}
65 - {env: IMPL=objpascal, services: [docker]}
66 - {env: IMPL=objc NO_DOCKER=1, os: osx, osx_image: xcode7}
67 - {env: IMPL=objc, services: [docker]}
68 - {env: IMPL=ocaml, services: [docker]}
69 - {env: IMPL=perl, services: [docker]}
70 - {env: IMPL=perl6, services: [docker]}
71 - {env: IMPL=php, services: [docker]}
72 - {env: IMPL=picolisp, services: [docker]}
73 - {env: IMPL=pike, services: [docker]}
74 - {env: IMPL=plpgsql NO_SELF_HOST=1, services: [docker]} # step3 timeout
75 # - {env: IMPL=plsql, services: [docker]}
76 - {env: IMPL=ps, services: [docker]}
77 - {env: IMPL=powershell NO_SELF_HOST_PERF=1, services: [docker]} # perf timeout
78 - {env: IMPL=python python_MODE=python2, services: [docker]}
79 - {env: IMPL=python python_MODE=python3, services: [docker]}
80 - {env: IMPL=python.2, services: [docker]}
81 - {env: IMPL=r, services: [docker]}
82 - {env: IMPL=racket, services: [docker]}
83 - {env: IMPL=rexx, services: [docker]}
84 - {env: IMPL=rpython, services: [docker]}
85 - {env: IMPL=ruby, services: [docker]}
86 - {env: IMPL=rust, services: [docker]}
87 - {env: IMPL=scala, services: [docker]}
88 - {env: IMPL=scheme scheme_MODE=chibi, services: [docker]}
89 - {env: IMPL=scheme scheme_MODE=kawa, services: [docker]}
90 - {env: IMPL=scheme scheme_MODE=gauche, services: [docker]}
91 - {env: IMPL=scheme scheme_MODE=chicken, services: [docker]}
92 - {env: IMPL=scheme scheme_MODE=sagittarius, services: [docker]}
93 - {env: IMPL=scheme scheme_MODE=cyclone, services: [docker]}
94 # - {env: IMPL=scheme scheme_MODE=foment, services: [docker]}
95 - {env: IMPL=skew, services: [docker]}
96 - {env: IMPL=swift NO_DOCKER=1, os: osx, osx_image: xcode7.3}
97 - {env: IMPL=swift3, services: [docker]}
98 - {env: IMPL=swift3 NO_DOCKER=1, os: osx, osx_image: xcode8}
99 - {env: IMPL=swift4, services: [docker]}
100 - {env: IMPL=swift4 NO_DOCKER=1, os: osx, osx_image: xcode10}
101 - {env: IMPL=swift5, services: [docker]}
102 - {env: IMPL=swift5 NO_DOCKER=1, os: osx, osx_image: xcode11}
103 - {env: IMPL=tcl, services: [docker]}
104 - {env: IMPL=ts, services: [docker]}
105 - {env: IMPL=vala, services: [docker]}
106 - {env: IMPL=vb, services: [docker]}
107 - {env: IMPL=vhdl NO_SELF_HOST_PERF=1, services: [docker]} # perf timeout
108 - {env: IMPL=vimscript, services: [docker]}
109 # no self-host perf for wasm due to mac stack overflow
110 - {env: IMPL=wasm wasm_MODE=wasmtime NO_SELF_HOST_PERF=1, services: [docker]}
111 - {env: IMPL=wasm wasm_MODE=wasmer NO_SELF_HOST_PERF=1, services: [docker]}
112 - {env: IMPL=wasm wasm_MODE=lucet NO_SELF_HOST_PERF=1, services: [docker]}
113 - {env: IMPL=wasm wasm_MODE=wax NO_SELF_HOST_PERF=1, services: [docker]}
114 - {env: IMPL=wasm wasm_MODE=node NO_SELF_HOST_PERF=1, services: [docker]}
115 - {env: IMPL=wasm wasm_MODE=warpy NO_SELF_HOST_PERF=1, services: [docker]}
116 - {env: IMPL=wasm wasm_MODE=wace_libc NO_SELF_HOST_PERF=1, services: [docker]}
117 - {env: IMPL=wren, services: [docker]}
118 - {env: IMPL=yorick, services: [docker]}
119 - {env: IMPL=zig, services: [docker]}
120
121 script:
122 # Build, test, perf
123 - ./.travis_test.sh build ${IMPL}
124 - ./.travis_test.sh test ${IMPL}
125 - STEP=stepA REGRESS=1 HARD=1 OPTIONAL=0 ./.travis_test.sh test ${IMPL}
126 - ./.travis_test.sh perf ${IMPL}