.travis.yml 5.5 KB

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