forked from TechEmpower/FrameworkBenchmarks
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
140 lines (134 loc) · 5.27 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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# 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++/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"'
- 'TESTDIR="Go/falcore 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=Java/act"
- "TESTDIR=Java/activeweb"
- "TESTDIR=Java/armeria"
- "TESTDIR=Java/baratine"
- "TESTDIR=Java/bayou"
- "TESTDIR=Java/blade"
- "TESTDIR=Java/comsat"
- "TESTDIR=Java/curacao"
- "TESTDIR=Java/dropwizard"
- "TESTDIR=Java/firenio"
- "TESTDIR=Java/gemini"
- "TESTDIR=Java/greenlightning"
- "TESTDIR=Java/grizzly"
- "TESTDIR=Java/helidon"
- "TESTDIR=Java/httpserver"
- "TESTDIR=Java/jawn"
- "TESTDIR=Java/javalin"
- "TESTDIR=Java/jetty"
- "TESTDIR=Java/jlhttp"
- "TESTDIR=Java/jooby"
- "TESTDIR=Java/jooby2"
- "TESTDIR=Java/light-java"
- "TESTDIR=Java/micronaut"
- "TESTDIR=Java/minijax"
- "TESTDIR=Java/nanohttpd"
- "TESTDIR=Java/netty"
- "TESTDIR=Java/ninja-standalone"
- "TESTDIR=Java/officefloor"
- "TESTDIR=Java/play1"
- "TESTDIR=Java/play2-java"
- "TESTDIR=Java/proteus"
- "TESTDIR=Java/quarkus"
- "TESTDIR=Java/rapidoid"
- "TESTDIR=Java/ratpack"
- "TESTDIR=Java/redkale"
- "TESTDIR=Java/restexpress"
- "TESTDIR=Java/revenj-jvm"
- "TESTDIR=Java/servlet"
- "TESTDIR=Java/servlet3"
- "TESTDIR=Java/smart-socket"
- "TESTDIR=Java/spark"
- "TESTDIR=Java/spring"
- "TESTDIR=Java/spring-webflux"
- "TESTDIR=Java/tapestry"
- "TESTDIR=Java/t-io"
- "TESTDIR=Java/undertow"
- "TESTDIR=Java/undertow-jersey"
- "TESTDIR=Java/vertx"
- "TESTDIR=Java/voovan"
- "TESTDIR=Java/vertx-web"
- "TESTDIR=Java/wicket"
- "TESTDIR=Java/wildfly-ee"
- "TESTDIR=Java/wizzardo-http"
- "TESTLANG=JavaScript"
- "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/hamlet PHP/laravel PHP/lumen PHP/hhvm PHP/peachpie PHP/swoole PHP/workerman PHP/phalcon PHP/ubiquity PHP/hyperf PHP/sw-fw-less"'
- '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="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=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
- sudo service postgresql stop
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