Browse Source

Erlang and Elixir tests for docker (#3341)

Nate 7 years ago
parent
commit
e3becd6207

+ 6 - 6
.travis.yml

@@ -47,12 +47,12 @@ env:
      - "TESTDIR=Dart/redstone"
      - "TESTDIR=Dart/redstone"
      - "TESTDIR=Dart/start"
      - "TESTDIR=Dart/start"
      - "TESTDIR=Dart/stream"
      - "TESTDIR=Dart/stream"
-    # - "TESTDIR=Elixir/phoenix"
-    # - "TESTDIR=Elixir/cowboy"
-    # - "TESTDIR=Erlang/chicagoboss"
-    # - "TESTDIR=Erlang/cowboy"
-    # - "TESTDIR=Erlang/elli"
-    # - "TESTDIR=Erlang/mochiweb"
+     - "TESTDIR=Elixir/phoenix"
+     - "TESTDIR=Elixir/cowboy"
+     - "TESTDIR=Erlang/chicagoboss"
+     - "TESTDIR=Erlang/cowboy"
+     - "TESTDIR=Erlang/elli"
+     - "TESTDIR=Erlang/mochiweb"
     # - "TESTDIR=Go/aah"
     # - "TESTDIR=Go/aah"
     # - "TESTDIR=Go/beego"
     # - "TESTDIR=Go/beego"
     # - "TESTDIR=Go/echo"
     # - "TESTDIR=Go/echo"

+ 0 - 1
frameworks/Elixir/cowboy/benchmark_config.json

@@ -2,7 +2,6 @@
     "framework": "elixir-cowboy",
     "framework": "elixir-cowboy",
     "tests": [{
     "tests": [{
         "default": {
         "default": {
-            "setup_file": "setup",
             "json_url": "/json",
             "json_url": "/json",
             "plaintext_url": "/plaintext",
             "plaintext_url": "/plaintext",
             "port": 8080,
             "port": 8080,

+ 11 - 0
frameworks/Elixir/cowboy/elixir-cowboy.dockerfile

@@ -0,0 +1,11 @@
+FROM tfb/elixir:latest
+
+COPY ./ ./
+
+ENV MIX_ENV=prod
+RUN mix local.hex --force
+RUN mix local.rebar --force
+RUN mix deps.get --force --only prod
+RUN mix compile --force
+
+CMD ["elixir", "--erl", "+K true +sbwt very_long +swt very_low", "--no-halt", "-S", "mix"]

+ 0 - 1
frameworks/Elixir/phoenix/benchmark_config.json

@@ -2,7 +2,6 @@
     "framework": "phoenix",
     "framework": "phoenix",
     "tests": [{
     "tests": [{
         "default": {
         "default": {
-            "setup_file": "setup",
             "json_url": "/json",
             "json_url": "/json",
             "db_url": "/db",
             "db_url": "/db",
             "query_url": "/queries?queries=",
             "query_url": "/queries?queries=",

+ 12 - 0
frameworks/Elixir/phoenix/phoenix.dockerfile

@@ -0,0 +1,12 @@
+FROM tfb/elixir:latest
+
+COPY ./ ./
+
+ENV MIX_ENV=prod
+
+RUN mix local.hex --force
+RUN mix local.rebar --force
+RUN mix deps.get --force --only prod
+RUN mix compile --force
+
+CMD ["elixir", "--erl", "+K true +sbwt very_long +swt very_low", "-S", "mix", "phoenix.server"]

+ 0 - 13
frameworks/Elixir/phoenix/setup.sh

@@ -1,13 +0,0 @@
-#!/bin/bash
-
-fw_depends postgresql elixir
-
-rm -rf _build deps
-
-export MIX_ENV=prod
-mix local.hex --force
-mix local.rebar --force
-mix deps.get --force --only prod
-mix compile --force
-
-elixir --erl "+K true +sbwt very_long +swt very_low" --detached -S mix phoenix.server

+ 0 - 1
frameworks/Erlang/chicagoboss/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "chicagoboss",
   "framework": "chicagoboss",
   "tests": [{
   "tests": [{
     "default": {
     "default": {
-      "setup_file": "setup",
       "plaintext_url": "/plaintext",
       "plaintext_url": "/plaintext",
       "json_url": "/json",
       "json_url": "/json",
       "port": 8080,
       "port": 8080,

+ 8 - 0
frameworks/Erlang/chicagoboss/chicagoboss.dockerfile

@@ -0,0 +1,8 @@
+FROM tfb/erlang:latest
+
+COPY ./ ./
+
+RUN rebar get-deps
+RUN rebar compile
+
+CMD erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -config boss -s boss -sname chicagoboss -noshell

+ 0 - 9
frameworks/Erlang/chicagoboss/setup.sh

@@ -1,9 +0,0 @@
-#!/bin/bash
-
-fw_depends erlang
-
-rm -rf deps/* ebin/*
-rebar get-deps
-rebar compile
-
-erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -config boss -s boss -sname chicagoboss -noshell -detached

+ 1 - 1
frameworks/Erlang/cowboy/Makefile

@@ -1,4 +1,4 @@
 all:
 all:
 	./rebar get-deps
 	./rebar get-deps
 	./rebar compile
 	./rebar compile
-	erl -pa ebin deps/*/ebin -s hello_world -noshell -detached
+	erl -pa ebin deps/*/ebin -s hello_world -noshell

+ 0 - 1
frameworks/Erlang/cowboy/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "cowboy",
   "framework": "cowboy",
   "tests": [{
   "tests": [{
     "default": {
     "default": {
-      "setup_file": "setup",
       "plaintext_url": "/plaintext",
       "plaintext_url": "/plaintext",
       "json_url": "/json",
       "json_url": "/json",
       "db_url": "/db",
       "db_url": "/db",

+ 8 - 0
frameworks/Erlang/cowboy/cowboy.dockerfile

@@ -0,0 +1,8 @@
+FROM tfb/erlang:latest
+
+COPY ./ ./
+
+RUN rebar get-deps
+RUN rebar compile
+
+CMD erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -s hello_world -noshell

+ 1 - 1
frameworks/Erlang/cowboy/rebar.config

@@ -1,6 +1,6 @@
 {deps,
 {deps,
  [
  [
-  {jiffy, ".*", {git, "https://github.com/davisp/jiffy.git", {tag, "0.8.5"}}},
+  {jiffy, ".*", {git, "https://github.com/davisp/jiffy.git", {tag, "0.15.0"}}},
   {mimetypes, ".*", {git, "http://github.com/spawngrid/mimetypes.git", {branch, master}}},
   {mimetypes, ".*", {git, "http://github.com/spawngrid/mimetypes.git", {branch, master}}},
   {emysql, ".*", {git, "https://github.com/deadtrickster/Emysql.git", "52b802098322aad372198b9f5fa9ae9a4c758ad1"}},
   {emysql, ".*", {git, "https://github.com/deadtrickster/Emysql.git", "52b802098322aad372198b9f5fa9ae9a4c758ad1"}},
   {cowboy, ".*", {git, "https://github.com/extend/cowboy.git", {tag, "0.8.3"}}}
   {cowboy, ".*", {git, "https://github.com/extend/cowboy.git", {tag, "0.8.3"}}}

+ 0 - 9
frameworks/Erlang/cowboy/setup.sh

@@ -1,9 +0,0 @@
-#!/bin/bash
-
-fw_depends mysql erlang
-
-rm -rf deps/* ebin/*
-rebar get-deps
-rebar compile
-
-erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -s hello_world -noshell -detached

+ 0 - 1
frameworks/Erlang/elli/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "elli",
   "framework": "elli",
   "tests": [{
   "tests": [{
     "default": {
     "default": {
-      "setup_file": "setup",
       "plaintext_url":"/plaintext",
       "plaintext_url":"/plaintext",
       "json_url": "/json",
       "json_url": "/json",
       "db_url": "/db",
       "db_url": "/db",

+ 8 - 0
frameworks/Erlang/elli/elli.dockerfile

@@ -0,0 +1,8 @@
+FROM tfb/erlang:latest
+
+COPY ./ ./
+
+RUN rebar get-deps
+RUN rebar compile
+
+CMD erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -s elli_bench -noshell

+ 1 - 1
frameworks/Erlang/elli/rebar.config

@@ -1,6 +1,6 @@
 {deps,
 {deps,
  [
  [
-  {jiffy, ".*", {git, "https://github.com/davisp/jiffy.git", {tag, "0.13.3"}}},
+  {jiffy, ".*", {git, "https://github.com/davisp/jiffy.git", {tag, "0.15.0"}}},
   {emysql, ".*", {git, "https://github.com/deadtrickster/Emysql.git", "52b802098322aad372198b9f5fa9ae9a4c758ad1"}},
   {emysql, ".*", {git, "https://github.com/deadtrickster/Emysql.git", "52b802098322aad372198b9f5fa9ae9a4c758ad1"}},
   {elli, "", {git, "git://github.com/knutin/elli.git", {tag, "v1.0.5"}}}
   {elli, "", {git, "git://github.com/knutin/elli.git", {tag, "v1.0.5"}}}
  ]}.
  ]}.

+ 0 - 9
frameworks/Erlang/elli/setup.sh

@@ -1,9 +0,0 @@
-#!/bin/bash
-
-fw_depends erlang mysql
-
-rm -rf deps/* ebin/*
-rebar get-deps
-rebar compile
-
-erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -s elli_bench -noshell -detached

+ 0 - 1
frameworks/Erlang/mochiweb/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "mochiweb",
   "framework": "mochiweb",
   "tests": [{
   "tests": [{
     "default": {
     "default": {
-      "setup_file": "setup",
       "json_url": "/json",
       "json_url": "/json",
       "plaintext_url": "/plaintext",
       "plaintext_url": "/plaintext",
       "db_url": "/db",
       "db_url": "/db",

+ 8 - 0
frameworks/Erlang/mochiweb/mochiweb.dockerfile

@@ -0,0 +1,8 @@
+FROM tfb/erlang:latest
+
+COPY ./ ./
+
+RUN rebar get-deps
+RUN rebar compile
+
+CMD erl +K true +sbwt very_long +swt very_low -pa ebin deps/*/ebin -boot start_sasl -config priv/app.config -s mochiweb_bench_app -noshell

+ 0 - 9
frameworks/Erlang/mochiweb/setup.sh

@@ -1,9 +0,0 @@
-#!/bin/bash
-
-fw_depends erlang mysql
-
-rm -rf deps/* ebin/*
-rebar get-deps
-rebar compile
-
-erl +K true +sbwt very_long +swt very_low -pa ebin deps/*/ebin -boot start_sasl -config priv/app.config -s mochiweb_bench_app

+ 11 - 0
toolset/setup/linux/docker/languages/elixir.dockerfile

@@ -0,0 +1,11 @@
+FROM tfb/erlang:latest
+
+ENV ELIXIR_VERSION="1.5.2-1"
+ENV RELEASE="xenial"
+ENV ARCH="amd64"
+
+RUN wget http://packages.erlang-solutions.com/erlang/elixir/FLAVOUR_2_download/elixir_${ELIXIR_VERSION}~ubuntu~${RELEASE}_${ARCH}.deb
+RUN dpkg -x elixir_${ELIXIR_VERSION}~ubuntu~${RELEASE}_${ARCH}.deb /elixir
+RUN /erlang/usr/lib/erlang/Install -minimal /erlang/usr/lib/erlang
+
+ENV PATH=elixir/usr/local/bin:${PATH}

+ 13 - 0
toolset/setup/linux/docker/languages/erlang.dockerfile

@@ -0,0 +1,13 @@
+FROM tfb/base:latest
+
+ENV ERLANG_VERSION="18.2-1"
+ENV RELEASE="xenial"
+ENV ARCH="amd64"
+
+RUN wget https://packages.erlang-solutions.com/erlang/esl-erlang/FLAVOUR_1_general/esl-erlang_${ERLANG_VERSION}~ubuntu~${RELEASE}_${ARCH}.deb
+RUN dpkg -x esl-erlang_${ERLANG_VERSION}~ubuntu~${RELEASE}_${ARCH}.deb /erlang
+RUN /erlang/usr/lib/erlang/Install -minimal /erlang/usr/lib/erlang
+
+RUN apt install -yqq rebar
+
+ENV PATH=/erlang/usr/bin:${PATH}

+ 0 - 19
toolset/setup/linux/languages/elixir.sh

@@ -1,19 +0,0 @@
-#!/bin/bash
-
-fw_depends erlang
-
-fw_installed elixir && return 0
-
-ELIXIR_HOME=$IROOT/elixir
-VERSION="1.5.2-1"
-RELEASE="trusty"
-ARCH="amd64"
-
-fw_get -O http://packages.erlang-solutions.com/erlang/elixir/FLAVOUR_2_download/elixir_${VERSION}~ubuntu~${RELEASE}_${ARCH}.deb
-dpkg -x elixir_${VERSION}~ubuntu~${RELEASE}_${ARCH}.deb $IROOT/elixir
-$IROOT/erlang/usr/lib/erlang/Install -minimal $IROOT/erlang/usr/lib/erlang
-
-echo "export ELIXIR_HOME=${ELIXIR_HOME}" > $IROOT/elixir.installed
-echo -e "export PATH=\$ELIXIR_HOME/usr/local/bin:\$PATH" >> $IROOT/elixir.installed
-
-source $IROOT/elixir.installed

+ 0 - 15
toolset/setup/linux/languages/erlang.sh

@@ -1,15 +0,0 @@
-#!/bin/bash
-
-fw_installed erlang && return 0
-
-VERSION="18.2-2"
-RELEASE="trusty"
-ARCH="amd64"
-
-fw_get -O http://packages.erlang-solutions.com/site/esl/esl-erlang/FLAVOUR_2_esl/esl-erlang_${VERSION}~ubuntu~${RELEASE}_${ARCH}.deb
-dpkg -x esl-erlang_${VERSION}~ubuntu~${RELEASE}_${ARCH}.deb $IROOT/erlang
-$IROOT/erlang/usr/lib/erlang/Install -minimal $IROOT/erlang/usr/lib/erlang
-
-echo -e "export PATH=${IROOT}/erlang/usr/bin:\$PATH" > $IROOT/erlang.installed
-
-source $IROOT/erlang.installed