diff --git a/.travis.yml b/.travis.yml index 0928557497..dde8ccd830 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,12 +11,16 @@ env: #- IMPL=coffee # step5 hangs - IMPL=cs - IMPL=clojure + - IMPL=forth - IMPL=go - IMPL=haskell - IMPL=java - IMPL=js - IMPL=lua - IMPL=make + #- IMPL=matlab # licensed (until port to Octave) + - IMPL=miniMAL + - IMPL=ocaml - IMPL=perl - IMPL=php - IMPL=ps @@ -29,6 +33,6 @@ env: - IMPL=vb script: - - docker pull kanaka/mal-test-$IMPL - - docker run -it -u $(id -u) -v `pwd`:/mal kanaka/mal-test-$IMPL make -C $IMPL - - docker run -it -u $(id -u) -v `pwd`:/mal kanaka/mal-test-$IMPL make IMPLS="$IMPL" test + - docker pull kanaka/mal-test-${IMPL,,} + - docker run -it -u $(id -u) -v `pwd`:/mal kanaka/mal-test-${IMPL,,} make -C $IMPL + - docker run -it -u $(id -u) -v `pwd`:/mal kanaka/mal-test-${IMPL,,} make IMPLS="$IMPL" test diff --git a/forth/Dockerfile b/forth/Dockerfile new file mode 100644 index 0000000000..c84caec2c4 --- /dev/null +++ b/forth/Dockerfile @@ -0,0 +1,24 @@ +FROM ubuntu:vivid +MAINTAINER Joel Martin + +########################################################## +# General requirements for testing or common across many +# implementations +########################################################## + +RUN apt-get -y update + +# Required for running tests +RUN apt-get -y install make python + +# Some typical implementation and test requirements +RUN apt-get -y install curl libreadline-dev libedit-dev + +RUN mkdir -p /mal +WORKDIR /mal + +########################################################## +# Specific implementation requirements +########################################################## + +RUN apt-get -y install gforth diff --git a/forth/Makefile b/forth/Makefile index 29bf79922d..d2dcb096fb 100644 --- a/forth/Makefile +++ b/forth/Makefile @@ -2,6 +2,8 @@ SOURCES_BASE = types.fs str.fs reader.fs printer.fs SOURCES_LISP = env.fs core.fs stepA_mal.fs SOURCES = $(SOURCES_BASE) $(SOURCES_LISP) +all: + .PHONY: stats tests $(TESTS) stats: $(SOURCES) diff --git a/miniMAL/Dockerfile b/miniMAL/Dockerfile new file mode 100644 index 0000000000..6843896fa9 --- /dev/null +++ b/miniMAL/Dockerfile @@ -0,0 +1,38 @@ +FROM ubuntu:vivid +MAINTAINER Joel Martin + +########################################################## +# General requirements for testing or common across many +# implementations +########################################################## + +RUN apt-get -y update + +# Required for running tests +RUN apt-get -y install make python + +# Some typical implementation and test requirements +RUN apt-get -y install curl libreadline-dev libedit-dev + +RUN mkdir -p /mal +WORKDIR /mal + +########################################################## +# Specific implementation requirements +########################################################## + +# For building node modules +RUN apt-get -y install g++ + +# Add nodesource apt repo config for 0.12 stable +RUN curl -sL https://deb.nodesource.com/setup_0.12 | bash - + +# Install nodejs +RUN apt-get -y install nodejs + +# Link common name +RUN ln -sf nodejs /usr/bin/node + +ENV NPM_CONFIG_CACHE /mal/.npm + +RUN npm install -g minimal-lisp diff --git a/ocaml/Dockerfile b/ocaml/Dockerfile new file mode 100644 index 0000000000..fbad0fc2d3 --- /dev/null +++ b/ocaml/Dockerfile @@ -0,0 +1,25 @@ +FROM ubuntu:vivid +MAINTAINER Joel Martin + +########################################################## +# General requirements for testing or common across many +# implementations +########################################################## + +RUN apt-get -y update + +# Required for running tests +RUN apt-get -y install make python + +# Some typical implementation and test requirements +RUN apt-get -y install curl libreadline-dev libedit-dev + +RUN mkdir -p /mal +WORKDIR /mal + +########################################################## +# Specific implementation requirements +########################################################## + +RUN apt-get -y install ocaml-batteries-included +