.travis.yml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. # Travis CI
  2. #
  3. #
  4. sudo: required
  5. group: deprecated-2017-Q4
  6. dist: trusty
  7. language: generic
  8. python:
  9. - "2.7"
  10. services:
  11. - docker
  12. env:
  13. matrix:
  14. - "TESTLANG=C"
  15. - "TESTLANG=CSharp"
  16. - 'TESTDIR="C++/cppcms C++/cpoll_cppsp C++/poco"'
  17. - "TESTDIR=C++/ffead-cpp"
  18. - "TESTDIR=C++/cutelyst"
  19. - "TESTDIR=C++/silicon"
  20. - "TESTDIR=C++/treefrog"
  21. - "TESTDIR=C++/ulib"
  22. - "TESTDIR=C++/wt"
  23. - "TESTLANG=Clojure"
  24. - "TESTLANG=Crystal"
  25. - "TESTLANG=D"
  26. - "TESTLANG=Dart"
  27. - "TESTLANG=Elixir"
  28. - "TESTLANG=Erlang"
  29. - "TESTLANG=FSharp"
  30. - "TESTLANG=Go"
  31. - "TESTLANG=Groovy"
  32. - "TESTDIR=Haskell/snap"
  33. - "TESTDIR=Haskell/wai"
  34. - "TESTDIR=Haskell/yesod"
  35. - "TESTDIR=Haskell/servant"
  36. - "TESTDIR=Haskell/spock"
  37. - "TESTDIR=Java/act"
  38. - "TESTDIR=Java/activeweb"
  39. - "TESTDIR=Java/baratine"
  40. - "TESTDIR=Java/bayou"
  41. - "TESTDIR=Java/blade"
  42. - "TESTDIR=Java/comsat"
  43. - "TESTDIR=Java/curacao"
  44. - "TESTDIR=Java/dropwizard"
  45. - "TESTDIR=Java/gemini"
  46. - "TESTDIR=Java/grizzly"
  47. - "TESTDIR=Java/grizzly-jersey"
  48. - "TESTDIR=Java/jawn"
  49. - "TESTDIR=Java/jetty"
  50. - "TESTDIR=Java/jlhttp"
  51. - "TESTDIR=Java/jooby"
  52. - "TESTDIR=Java/light-java"
  53. - "TESTDIR=Java/micronaut"
  54. - "TESTDIR=Java/minijax"
  55. - "TESTDIR=Java/nanohttpd"
  56. - "TESTDIR=Java/netty"
  57. - "TESTDIR=Java/ninja-standalone"
  58. - "TESTDIR=Java/officefloor"
  59. - "TESTDIR=Java/play1"
  60. - "TESTDIR=Java/play2-java"
  61. - "TESTDIR=Java/proteus"
  62. - "TESTDIR=Java/rapidoid"
  63. - "TESTDIR=Java/ratpack"
  64. - "TESTDIR=Java/redkale"
  65. - "TESTDIR=Java/restexpress"
  66. - "TESTDIR=Java/revenj-jvm"
  67. - "TESTDIR=Java/servlet"
  68. - "TESTDIR=Java/servlet3"
  69. - "TESTDIR=Java/smart-socket"
  70. - "TESTDIR=Java/spark"
  71. - "TESTDIR=Java/spring"
  72. - "TESTDIR=Java/tapestry"
  73. - "TESTDIR=Java/t-io"
  74. - "TESTDIR=Java/undertow"
  75. - "TESTDIR=Java/undertow-jersey"
  76. - "TESTDIR=Java/vertx"
  77. - "TESTDIR=Java/vertx-web"
  78. - "TESTDIR=Java/wicket"
  79. - "TESTDIR=Java/wildfly-ee7"
  80. - "TESTDIR=Java/wizzardo-http"
  81. - "TESTDIR=Scala/cask"
  82. - "TESTLANG=JavaScript"
  83. - "TESTLANG=Kotlin"
  84. - "TESTLANG=Lua"
  85. - "TESTLANG=Nim"
  86. - "TESTLANG=Perl"
  87. - "TESTLANG=PHP"
  88. - "TESTLANG=Python"
  89. - "TESTLANG=Ruby"
  90. - "TESTLANG=Rust"
  91. - "TESTLANG=Scala"
  92. - "TESTLANG=Swift"
  93. - "TESTLANG=Ur"
  94. - "TESTLANG=Vala"
  95. - "TESTLANG=VB"
  96. before_script:
  97. # Runs travis_diff, printing the output to the terminal, and searches for travis-diff-continue
  98. # to determine if the suite should be installed and the current $TESTDIR test should run.
  99. - export RUN_TESTS=`./toolset/travis/travis_diff.py | tee /dev/tty | grep -oP "travis-run-tests \K(.*)"`
  100. - if [ "$RUN_TESTS" ]; then docker pull techempower/tfb; fi
  101. # Stop services that would claim ports we may need
  102. - sudo service mysql stop
  103. - sudo service postgresql stop
  104. script:
  105. # run-ci.py runs the diffing to see if travis needs to test this framework. Ideally/eventually,
  106. # we'd like to try and do the diffing before travis_clean & setup.
  107. # This will run the tests exactly as you would in your own vm:
  108. - 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; else echo 'Skipping test verification.'; fi