forked from TechEmpower/FrameworkBenchmarks
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
102 lines (96 loc) · 5 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# Travis CI
#
#
sudo: required
dist: xenial
language: generic
python:
- "2.7"
services:
- docker
env:
matrix:
- "TESTLANG=C"
- "TESTLANG=CSharp"
- 'TESTDIR="C++/cppcms C++/cpoll_cppsp C++/poco"'
- "TESTDIR=C++/ffead-cpp"
- "TESTDIR=C++/cutelyst"
- "TESTDIR=C++/libhttpserver"
- "TESTDIR=C++/silicon"
- "TESTDIR=C++/lithium"
- "TESTDIR=C++/treefrog"
- "TESTDIR=C++/ulib"
- "TESTDIR=C++/wt"
- "TESTDIR=C++/drogon"
- "TESTDIR=C++/oatpp"
- "TESTLANG=Clojure"
- "TESTLANG=Crystal"
- "TESTLANG=D"
- "TESTLANG=Dart"
- "TESTLANG=Dylan"
- "TESTLANG=Elixir"
- "TESTLANG=Erlang"
- "TESTLANG=FSharp"
- 'TESTDIR="Go/chi Go/gin Go/goji Go/aah Go/beego Go/echo Go/gnet"'
- 'TESTDIR="Go/falcore Go/fiber Go/kami Go/martini Go/revel Go/webgo"'
- 'TESTDIR="Go/evio Go/fasthttp Go/go-std Go/atreugo Go/gramework"'
- "TESTLANG=Groovy"
- "TESTDIR=Haskell/snap"
- "TESTDIR=Haskell/yesod"
- "TESTDIR=Haskell/servant"
- "TESTDIR=Haskell/spock"
- "TESTDIR=Haskell/warp"
- "TESTDIR=Haskell/wizzardo-inline"
- 'TESTDIR="Java/act Java/comsat"'
- 'TESTDIR="Java/activeweb Java/armeria Java/baratine Java/bayou Java/blade Java/curacao Java/dropwizard Java/firenio Java/voovan"'
- 'TESTDIR="Java/gemini Java/greenlightning Java/grizzly Java/helidon Java/httpserver Java/jetty Java/jhttp Java/jooby2 Java/wicket"'
- 'TESTDIR="Java/light-java Java/minijax Java/nanohttpd Java/netty Java/ninja-standalone Java/officefloor Java/proteus Java/quarkus"'
- 'TESTDIR="Java/rapidoid Java/redkale Java/restexpress Java/revenj-jvm Java/servlet Java/servlet3 Java/smart-socket Java/spark"'
- 'TESTDIR="Java/spring Java/spring-webflux Java/t-io Java/tapestry Java/undertow Java/undertow-jersey Java/vertx Java/vertx-web Java/simple-server"'
- 'TESTDIR="Java/javalin Java/jawn Java/ratpack Java/wizzardo-http"'
- 'TESTDIR="Java/play1 Java/play2-java Java/wildfly-ee"'
- 'TESTDIR="JavaScript/0http JavaScript/express JavaScript/fastify JavaScript/hapi JavaScript/koa"'
- 'TESTDIR="JavaScript/nodejs JavaScript/polkadot JavaScript/restana JavaScript/restify JavaScript/sailsjs"'
- 'TESTDIR="JavaScript/es4x JavaScript/ringojs"'
- "TESTLANG=Kotlin"
- "TESTLANG=Lisp"
- "TESTLANG=Lua"
- "TESTLANG=Nim"
- "TESTLANG=Perl"
- 'TESTDIR="PHP/php"'
- 'TESTDIR="PHP/cakephp PHP/codeigniter PHP/fat-free PHP/fuel PHP/kumbiaphp PHP/phpixie PHP/slim PHP/symfony PHP/yii2 PHP/zend PHP/spiral"'
- 'TESTDIR="PHP/amp PHP/hhvm PHP/peachpie PHP/php-ngx PHP/workerman PHP/phalcon"'
- 'TESTDIR="PHP/hamlet PHP/laravel PHP/lumen PHP/swoole PHP/ubiquity PHP/hyperf PHP/sw-fw-less PHP/imi"'
- 'TESTDIR="Python/aiohttp Python/api_hour Python/apidaora Python/blacksheep Python/bottle Python/cherrypy Python/django Python/eve Python/falcon Python/fastapi Python/flask"'
- 'TESTDIR="Python/hug Python/japronto Python/klein Python/morepath Python/pyramid Python/quart Python/responder Python/sanic Python/spyne Python/starlette"'
- 'TESTDIR="Python/tornado Python/turbogears Python/uvicorn Python/uwsgi Python/vibora Python/web2py Python/webware Python/weppy Python/wsgi"'
- 'TESTDIR="Ruby/agoo Ruby/grape Ruby/h2o_mruby Ruby/hanami Ruby/padrino Ruby/rack Ruby/rack-sequel"'
- 'TESTDIR="Ruby/rails Ruby/roda-sequel Ruby/sinatra Ruby/sinatra-sequel"'
- 'TESTDIR="Rust/actix Rust/gotham Rust/hyper Rust/iron Rust/saphir"'
- 'TESTDIR="Rust/may-minihttp Rust/nickel Rust/rocket"'
- 'TESTDIR="Rust/rouille Rust/thruster Rust/tokio-minihttp"'
- 'TESTDIR="Rust/warp-rust"'
- 'TESTDIR="Scala/akka-http Scala/blaze Scala/cask Scala/colossus Scala/finagle"'
- 'TESTDIR="Scala/finatra Scala/finch Scala/http4s"'
- 'TESTDIR="Scala/play2-scala Scala/youi"'
- 'TESTDIR="Scala/vertx-web-scala"'
- "TESTLANG=Scheme"
- "TESTLANG=Swift"
- "TESTLANG=TypeScript"
- "TESTLANG=Ur"
- "TESTLANG=V"
- "TESTLANG=Vala"
- "TESTLANG=VB"
before_script:
# Runs travis_diff, printing the output to the terminal, and searches for travis-diff-continue
# to determine if the suite should be installed and the current $TESTDIR test should run.
- export RUN_TESTS=`./toolset/travis/travis_diff.py | tee /dev/tty | grep -oP "travis-run-tests \K(.*)"`
- if [ "$RUN_TESTS" ]; then docker build -t techempower/tfb - < ./Dockerfile; fi
# Stop services that would claim ports we may need
- sudo service mysql stop || true
- sudo service postgresql stop || true
script:
# run-ci.py runs the diffing to see if travis needs to test this framework. Ideally/eventually,
# we'd like to try and do the diffing before travis_clean & setup.
# This will run the tests exactly as you would in your own vm:
- if [ "$RUN_TESTS" ]; then docker network create tfb > /dev/null 2>&1 && docker run --network=tfb -v /var/run/docker.sock:/var/run/docker.sock --mount type=bind,source=`pwd`,target=/FrameworkBenchmarks techempower/tfb --mode verify --test-dir $RUN_TESTS --results-environment Travis; else echo 'Skipping test verification.'; fi