passenger 5.3.4 → 6.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (283) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +69 -0
  3. data/CONTRIBUTORS +1 -0
  4. data/README.md +2 -1
  5. data/Rakefile +0 -5
  6. data/build/agent.rb +6 -3
  7. data/build/cxx_tests.rb +28 -19
  8. data/build/integration_tests.rb +6 -2
  9. data/build/misc.rb +2 -1
  10. data/build/packaging.rb +2 -0
  11. data/build/support/cplusplus.rb +2 -2
  12. data/build/support/cxx_dependency_map.rb +2651 -2189
  13. data/dev/colorize-logs +272 -0
  14. data/dev/show-latest-crashlog-dir +27 -0
  15. data/resources/templates/standalone/http.erb +2 -0
  16. data/resources/templates/standalone/server.erb +1 -0
  17. data/src/agent/AgentMain.cpp +4 -0
  18. data/src/agent/Core/AdminPanelConnector.h +6 -6
  19. data/src/agent/Core/ApiServer.h +4 -4
  20. data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +2 -2
  21. data/src/agent/Core/ApplicationPool/Context.h +5 -1
  22. data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +2 -2
  23. data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +5 -0
  24. data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +2 -1
  25. data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +3 -3
  26. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
  27. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +13 -20
  28. data/src/agent/Core/ApplicationPool/Group.h +4 -2
  29. data/src/agent/Core/ApplicationPool/Implementation.cpp +5 -5
  30. data/src/agent/Core/ApplicationPool/Options.h +42 -38
  31. data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +2 -1
  32. data/src/agent/Core/ApplicationPool/Pool.h +4 -4
  33. data/src/agent/Core/ApplicationPool/Process.h +13 -15
  34. data/src/agent/Core/ApplicationPool/Socket.h +5 -5
  35. data/src/agent/Core/ApplicationPool/TestSession.h +3 -3
  36. data/src/agent/Core/Config.h +50 -10
  37. data/src/agent/Core/ConfigChange.cpp +13 -1
  38. data/src/agent/Core/Controller/Config.h +41 -17
  39. data/src/agent/Core/Controller/ForwardResponse.cpp +4 -0
  40. data/src/agent/Core/Controller/InitRequest.cpp +14 -8
  41. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +5 -0
  42. data/src/agent/Core/Controller/SendRequest.cpp +9 -9
  43. data/src/agent/Core/Controller/TurboCaching.h +2 -2
  44. data/src/agent/Core/Controller.h +7 -5
  45. data/src/agent/Core/CoreMain.cpp +204 -60
  46. data/src/agent/Core/OptionParser.h +20 -3
  47. data/src/agent/Core/ResponseCache.h +3 -3
  48. data/src/agent/Core/SecurityUpdateChecker.h +4 -2
  49. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +1 -1
  50. data/src/agent/Core/SpawningKit/Config.h +3 -2
  51. data/src/agent/Core/SpawningKit/Context.h +8 -2
  52. data/src/agent/Core/SpawningKit/DirectSpawner.h +4 -4
  53. data/src/agent/Core/SpawningKit/DummySpawner.h +3 -3
  54. data/src/agent/Core/SpawningKit/ErrorRenderer.h +1 -1
  55. data/src/agent/Core/SpawningKit/Exceptions.h +21 -14
  56. data/src/agent/Core/SpawningKit/Factory.h +1 -1
  57. data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
  58. data/src/agent/Core/SpawningKit/Handshake/Perform.h +14 -2
  59. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +3 -3
  60. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +1 -1
  61. data/src/agent/Core/SpawningKit/Journey.h +4 -5
  62. data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
  63. data/src/agent/Core/SpawningKit/README.md +34 -17
  64. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +1 -1
  65. data/src/agent/Core/SpawningKit/Result.h +20 -8
  66. data/src/agent/Core/SpawningKit/SmartSpawner.h +7 -7
  67. data/src/agent/Core/SpawningKit/Spawner.h +25 -8
  68. data/src/agent/Core/SpawningKit/UserSwitchingRules.h +17 -7
  69. data/src/agent/Core/TelemetryCollector.h +681 -0
  70. data/src/agent/ExecHelper/ExecHelperMain.cpp +1 -1
  71. data/src/agent/FileReadHelper/FileReadHelperMain.cpp +198 -0
  72. data/src/agent/README.md +1 -1
  73. data/src/agent/Shared/ApiAccountUtils.h +1 -1
  74. data/src/agent/Shared/ApiServerUtils.h +3 -3
  75. data/src/agent/Shared/ApplicationPoolApiKey.h +2 -2
  76. data/src/agent/Shared/Fundamentals/AbortHandler.cpp +324 -98
  77. data/src/agent/Shared/Fundamentals/AbortHandler.h +31 -4
  78. data/src/agent/Shared/Fundamentals/Initialization.cpp +4 -5
  79. data/src/agent/Shared/Fundamentals/Initialization.h +9 -1
  80. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +1 -1
  81. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +4 -3
  82. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +3 -3
  83. data/src/agent/Watchdog/ApiServer.h +3 -3
  84. data/src/agent/Watchdog/Config.h +24 -5
  85. data/src/agent/Watchdog/CoreWatcher.cpp +2 -2
  86. data/src/agent/Watchdog/WatchdogMain.cpp +97 -28
  87. data/src/apache2_module/Config.cpp +14 -14
  88. data/src/apache2_module/Config.h +8 -16
  89. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +510 -481
  90. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +39 -17
  91. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +5 -0
  92. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +69 -1
  93. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +31 -1
  94. data/src/apache2_module/ConfigGeneral/Common.h +45 -0
  95. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +17 -1
  96. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +16 -1
  97. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +19 -5
  98. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +26 -9
  99. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +19 -1
  100. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +10 -1
  101. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +14 -1
  102. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +11 -1
  103. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +36 -1
  104. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +34 -1
  105. data/src/apache2_module/DirectoryMapper.h +36 -37
  106. data/src/apache2_module/Hooks.cpp +27 -8
  107. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +20 -0
  108. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +48 -1
  109. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +36 -1
  110. data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.cpp +2 -2
  111. data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.h +4 -4
  112. data/src/cxx_supportlib/AppLocalConfigFileUtils.h +148 -0
  113. data/src/cxx_supportlib/AppTypeDetector/CBindings.cpp +147 -0
  114. data/src/cxx_supportlib/AppTypeDetector/CBindings.h +75 -0
  115. data/src/cxx_supportlib/{AppTypes.h → AppTypeDetector/Detector.h} +92 -131
  116. data/src/cxx_supportlib/ConfigKit/README.md +90 -2
  117. data/src/cxx_supportlib/ConfigKit/Schema.h +60 -15
  118. data/src/cxx_supportlib/ConfigKit/Store.h +129 -5
  119. data/src/cxx_supportlib/Constants.h +1 -1
  120. data/src/cxx_supportlib/{Utils → DataStructures}/HashMap.h +4 -4
  121. data/src/cxx_supportlib/DataStructures/HashedStaticString.h +5 -5
  122. data/src/cxx_supportlib/DataStructures/LString.h +3 -3
  123. data/src/cxx_supportlib/{Utils → DataStructures}/StringMap.h +36 -36
  124. data/src/cxx_supportlib/FileTools/FileManip.cpp +1 -1
  125. data/src/cxx_supportlib/FileTools/PathManip.cpp +2 -2
  126. data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +1 -1
  127. data/src/cxx_supportlib/Hooks.h +2 -2
  128. data/src/cxx_supportlib/{Utils → IOTools}/BufferedIO.h +5 -5
  129. data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.cpp +4 -3
  130. data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.h +3 -3
  131. data/src/cxx_supportlib/{Utils → IOTools}/MessageIO.h +7 -7
  132. data/src/cxx_supportlib/{MessageReadersWriters.h → IOTools/MessageSerialization.h} +5 -5
  133. data/src/cxx_supportlib/InstanceDirectory.h +4 -4
  134. data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
  135. data/src/cxx_supportlib/{Utils → JsonTools}/JsonUtils.h +5 -5
  136. data/src/cxx_supportlib/LoggingKit/Context.h +2 -2
  137. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +3 -3
  138. data/src/cxx_supportlib/MemoryKit/mbuf.cpp +2 -2
  139. data/src/cxx_supportlib/ProcessManagement/Ruby.cpp +3 -3
  140. data/src/cxx_supportlib/ProcessManagement/Ruby.h +7 -2
  141. data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +19 -12
  142. data/src/cxx_supportlib/ProcessManagement/Spawn.h +21 -2
  143. data/src/cxx_supportlib/ProcessManagement/Utils.h +10 -0
  144. data/src/cxx_supportlib/RandomGenerator.h +2 -2
  145. data/src/cxx_supportlib/ResourceLocator.h +1 -1
  146. data/src/cxx_supportlib/{Crypto.cpp → SecurityKit/Crypto.cpp} +4 -4
  147. data/src/cxx_supportlib/{Crypto.h → SecurityKit/Crypto.h} +4 -4
  148. data/src/cxx_supportlib/{Utils → SecurityKit}/MemZeroGuard.h +0 -0
  149. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +2 -2
  150. data/src/cxx_supportlib/ServerKit/Channel.h +1 -1
  151. data/src/cxx_supportlib/ServerKit/ClientRef.h +17 -7
  152. data/src/cxx_supportlib/ServerKit/Context.h +2 -2
  153. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +1 -1
  154. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +3 -3
  155. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +2 -2
  156. data/src/cxx_supportlib/ServerKit/HttpRequestRef.h +17 -7
  157. data/src/cxx_supportlib/ServerKit/HttpServer.h +16 -10
  158. data/src/cxx_supportlib/ServerKit/Server.h +3 -4
  159. data/src/cxx_supportlib/{Utils → StrIntTools}/DateParsing.h +5 -5
  160. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.cpp +3 -3
  161. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.h +0 -0
  162. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtilsNoStrictAliasing.cpp +12 -12
  163. data/src/cxx_supportlib/{Utils → StrIntTools}/StringScanning.h +5 -5
  164. data/src/cxx_supportlib/{Utils → StrIntTools}/Template.h +30 -5
  165. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +88 -0
  166. data/src/cxx_supportlib/{Utils → SystemTools}/ProcessMetricsCollector.h +15 -12
  167. data/src/cxx_supportlib/{Utils → SystemTools}/SystemMetricsCollector.h +3 -3
  168. data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.cpp +1 -1
  169. data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.h +0 -0
  170. data/src/cxx_supportlib/SystemTools/UserDatabase.h +1 -1
  171. data/src/cxx_supportlib/Utils/CachedFileStat.hpp +3 -3
  172. data/src/cxx_supportlib/Utils/Curl.h +2 -2
  173. data/src/cxx_supportlib/Utils/FileChangeChecker.h +2 -2
  174. data/src/cxx_supportlib/Utils/MessagePassing.h +1 -1
  175. data/src/cxx_supportlib/Utils/SpeedMeter.h +2 -2
  176. data/src/cxx_supportlib/Utils/Timer.h +2 -2
  177. data/src/cxx_supportlib/Utils/VariantMap.h +3 -3
  178. data/src/cxx_supportlib/Utils.cpp +2 -2
  179. data/src/cxx_supportlib/WatchdogLauncher.h +3 -3
  180. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +1 -1
  181. data/src/cxx_supportlib/WrapperRegistry/CBindings.cpp +85 -0
  182. data/src/cxx_supportlib/{Utils/MemoryBarrier.h → WrapperRegistry/CBindings.h} +30 -27
  183. data/src/cxx_supportlib/WrapperRegistry/Entry.h +112 -0
  184. data/src/cxx_supportlib/WrapperRegistry/README.md +37 -0
  185. data/src/cxx_supportlib/WrapperRegistry/Registry.h +309 -0
  186. data/src/cxx_supportlib/vendor-modified/psg_sysqueue.h +3 -0
  187. data/src/helper-scripts/download_binaries/extconf.rb +6 -2
  188. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +32 -0
  189. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +12 -0
  190. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +36 -0
  191. data/src/nginx_module/Configuration.c +23 -3
  192. data/src/nginx_module/ContentHandler.c +331 -32
  193. data/src/nginx_module/ContentHandler.h +8 -3
  194. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +10 -0
  195. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +27 -0
  196. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +3 -0
  197. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +7 -0
  198. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +11 -0
  199. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +23 -0
  200. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +8 -0
  201. data/src/nginx_module/config +2 -1
  202. data/src/nginx_module/ngx_http_passenger_module.c +9 -3
  203. data/src/nginx_module/ngx_http_passenger_module.h +10 -3
  204. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +19 -0
  205. data/src/ruby_supportlib/phusion_passenger/common_library.rb +19 -16
  206. data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +4 -4
  207. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +6 -2
  208. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +6 -2
  209. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
  210. data/src/ruby_supportlib/phusion_passenger/message_channel.rb +2 -2
  211. data/src/ruby_supportlib/phusion_passenger/native_support.rb +7 -3
  212. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +29 -0
  213. data/src/ruby_supportlib/phusion_passenger/packaging.rb +20 -19
  214. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +22 -4
  215. data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +33 -13
  216. data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +1 -0
  217. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +22 -2
  218. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +4 -1
  219. data/src/ruby_supportlib/phusion_passenger.rb +7 -5
  220. data/src/schema_printer/SchemaPrinterMain.cpp +2 -0
  221. metadata +40 -89
  222. data/.editorconfig +0 -134
  223. data/CODE_OF_CONDUCT.md +0 -52
  224. data/dev/boost-patches/0001-Patch-boost-thread-so-that-oxt-thread-can-use-it.patch +0 -48
  225. data/dev/boost-patches/0002-Make-boost-thread_interrupted-derive-from-oxt-tracab.patch +0 -33
  226. data/dev/boost-patches/0003-Disable-a-Clang-pragma-to-prevent-warnings-on-OS-X.patch +0 -25
  227. data/dev/ci/README.md +0 -134
  228. data/dev/ci/lib/functions.sh +0 -129
  229. data/dev/ci/lib/set-container-envvars.sh +0 -53
  230. data/dev/ci/lib/setup-container.sh +0 -46
  231. data/dev/ci/run-tests-natively +0 -24
  232. data/dev/ci/run-tests-with-docker +0 -42
  233. data/dev/ci/scripts/debug-console-wrapper.sh +0 -29
  234. data/dev/ci/scripts/docker-entrypoint-stage2.sh +0 -17
  235. data/dev/ci/scripts/docker-entrypoint.sh +0 -17
  236. data/dev/ci/scripts/inituidgid +0 -17
  237. data/dev/ci/scripts/run-tests-natively-stage2.sh +0 -17
  238. data/dev/ci/scripts/setup-host-natively.sh +0 -11
  239. data/dev/ci/setup-host +0 -56
  240. data/dev/ci/tests/apache2/run +0 -6
  241. data/dev/ci/tests/apache2/setup +0 -4
  242. data/dev/ci/tests/binaries/Jenkinsfile +0 -105
  243. data/dev/ci/tests/binaries/build-linux +0 -38
  244. data/dev/ci/tests/binaries/build-macos +0 -40
  245. data/dev/ci/tests/binaries/prepare-macos +0 -38
  246. data/dev/ci/tests/binaries/test-linux +0 -45
  247. data/dev/ci/tests/binaries/test-macos +0 -38
  248. data/dev/ci/tests/cxx/run +0 -9
  249. data/dev/ci/tests/cxx/setup +0 -4
  250. data/dev/ci/tests/debian/Jenkinsfile +0 -89
  251. data/dev/ci/tests/debian/run +0 -60
  252. data/dev/ci/tests/nginx/run +0 -5
  253. data/dev/ci/tests/nginx/setup +0 -4
  254. data/dev/ci/tests/nginx-dynamic/run +0 -20
  255. data/dev/ci/tests/nginx-dynamic/setup +0 -4
  256. data/dev/ci/tests/nodejs/run +0 -4
  257. data/dev/ci/tests/nodejs/setup +0 -4
  258. data/dev/ci/tests/rpm/Jenkinsfile +0 -68
  259. data/dev/ci/tests/rpm/run +0 -63
  260. data/dev/ci/tests/ruby/run +0 -4
  261. data/dev/ci/tests/ruby/setup +0 -4
  262. data/dev/ci/tests/source-packaging/run +0 -4
  263. data/dev/ci/tests/source-packaging/setup +0 -4
  264. data/dev/ci/tests/standalone/run +0 -4
  265. data/dev/ci/tests/standalone/setup +0 -4
  266. data/dev/configkit-schemas/index.json +0 -1748
  267. data/dev/configkit-schemas/update_schema_inline_comments.rb +0 -118
  268. data/dev/rack.test/config.ru +0 -5
  269. data/dev/rack.test/public/asset.txt +0 -1
  270. data/dev/vagrant/apache_default_site.conf +0 -35
  271. data/dev/vagrant/apache_passenger.conf +0 -5
  272. data/dev/vagrant/apache_passenger.load +0 -1
  273. data/dev/vagrant/apache_ports.conf +0 -24
  274. data/dev/vagrant/apache_rack_test.conf +0 -9
  275. data/dev/vagrant/bashrc +0 -23
  276. data/dev/vagrant/nginx.conf +0 -39
  277. data/dev/vagrant/nginx_rakefile +0 -33
  278. data/dev/vagrant/nginx_start +0 -32
  279. data/dev/vagrant/provision.sh +0 -117
  280. data/dev/vagrant/sudoers.conf +0 -5
  281. data/resources/templates/error_renderer/.editorconfig +0 -19
  282. data/src/cxx_supportlib/AppTypes.cpp +0 -109
  283. data/src/cxx_supportlib/vendor-modified/SmallVector.h +0 -653
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -eo pipefail
3
-
4
- SELFDIR=$(dirname "$0")
5
- SELFDIR=$(cd "$SELFDIR" && pwd)
6
- PASSENGER_ROOT=$(cd "$SELFDIR/../../.." && pwd)
7
- # shellcheck source=lib/functions.sh
8
- source "$SELFDIR/../lib/functions.sh"
9
-
10
- # shellcheck source=lib/set-container-envvars.sh
11
- source "$SELFDIR/../lib/set-container-envvars.sh"
12
- add_bundler_path_to_gem_path
13
- echo
14
-
15
- header "Running test suite: $1"
16
- # shellcheck source=/dev/null
17
- source "$PASSENGER_ROOT/dev/ci/tests/$1/run"
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -eo pipefail
3
-
4
- SELFDIR=$(dirname "$0")
5
- SELFDIR=$(cd "$SELFDIR" && pwd)
6
- PASSENGER_ROOT=$(cd "$SELFDIR/../../.." && pwd)
7
- # shellcheck source=../lib/functions.sh
8
- source "$SELFDIR/../lib/functions.sh"
9
-
10
- # shellcheck source=../lib/setup-container.sh
11
- source "$PASSENGER_ROOT/dev/ci/lib/setup-container.sh"
data/dev/ci/setup-host DELETED
@@ -1,56 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -eo pipefail
3
-
4
- SELFDIR=$(dirname "$0")
5
- SELFDIR=$(cd "$SELFDIR" && pwd)
6
- PASSENGER_ROOT=$(cd "$SELFDIR/../.." && pwd)
7
- # shellcheck source=lib/functions.sh
8
- source "$SELFDIR/lib/functions.sh"
9
- cd "$PASSENGER_ROOT"
10
-
11
- header "Setting up stuff on the host"
12
-
13
- autodetect_environment
14
- sanity_check_environment
15
- echo
16
-
17
- if [[ "$OS" = macos && "$1" = "" ]]; then
18
- echo "Usage: ./dev/ci/setup-host <TEST NAME>" >&2
19
- exit 1
20
- fi
21
-
22
- if $IN_JENKINS; then
23
- # Relax permissions. Necessary for unit tests which test permissions.
24
- header2 "Relaxing file permissions"
25
- echo "+ Setting umask"
26
- umask u=rwx,g=rx,o=rx
27
- run chmod g+rx,o+rx .
28
- echo "+ chmodding files"
29
- find ./* -type f -print0 | xargs -0 -n 512 chmod g+r,o+r
30
- echo "+ chmodding directories"
31
- find ./* -type d -print0 | xargs -0 -n 512 chmod g+rx,o+rx
32
-
33
- # Create this file now because otherwise it would be owned by root,
34
- # which Jenkins cannot remove.
35
- run touch test/test.log
36
-
37
- echo
38
- fi
39
-
40
- header2 "Creating cache directories"
41
- run mkdir -p "$CACHE_DIR"
42
- run mkdir -p "$CACHE_DIR/bundle"
43
- run mkdir -p "$CACHE_DIR/ccache"
44
- run mkdir -p "$CACHE_DIR/yarn"
45
- echo
46
-
47
- # Directory must exist so that Jenkinsfile can run archiveArtefacts().
48
- header2 "Creating buildout directory"
49
- run mkdir -p buildout buildout/testlogs
50
- echo
51
-
52
- if [[ "$OS" = macos ]]; then
53
- export CI_COMMAND="./dev/ci/setup-host $*"
54
- exec "$PASSENGER_ROOT/dev/ci/scripts/debug-console-wrapper.sh" \
55
- "$PASSENGER_ROOT/dev/ci/scripts/setup-host-natively.sh" "$@"
56
- fi
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -e
3
-
4
- run ./bin/passenger-install-apache2-module --auto
5
- run rvmsudo ./bin/passenger-install-apache2-module --auto --no-compile
6
- run bundle exec drake "-j$COMPILE_CONCURRENCY" test:integration:apache2
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -e
3
-
4
- retry_run 3 rake test:install_deps BASE_DEPS=yes NODE_MODULES=yes
@@ -1,105 +0,0 @@
1
- JOB_NAME_AS_ID = null
2
-
3
- def setupLinuxTest(enablerFlag, architecture, block) {
4
- if (enablerFlag) {
5
- node('linux') {
6
- withEnv([
7
- "OUTPUT_DIR=${env.WORKSPACE}/output-linux-${architecture}",
8
- "CACHE_DIR=${env.JENKINS_HOME}/cache/${env.JOB_NAME_AS_ID}/linux-${architecture}/executor-${env.EXECUTOR_NUMBER}",
9
- "ARCHITECTURE=${architecture}"
10
- ], block)
11
- }
12
- } else {
13
- echo 'Test skipped.'
14
- }
15
- }
16
-
17
- def setupMacosTest(enablerFlag, block) {
18
- if (enablerFlag) {
19
- node('macos') {
20
- withEnv([
21
- "OUTPUT_DIR=${env.WORKSPACE}/output-macos",
22
- "CACHE_DIR=${env.JENKINS_HOME}/cache/${env.JOB_NAME_AS_ID}/macos/executor-${env.EXECUTOR_NUMBER}",
23
- "RUNTIME_DIR=${env.JENKINS_HOME}/cache/${env.JOB_NAME_AS_ID}/macos/executor-${env.EXECUTOR_NUMBER}/runtime"
24
- ], block)
25
- }
26
- } else {
27
- echo 'Test skipped.'
28
- }
29
- }
30
-
31
- pipeline {
32
- agent { node { label 'master-pipeline' } }
33
-
34
- options {
35
- buildDiscarder(logRotator(numToKeepStr: '10'))
36
- timeout(time: 45, unit: 'MINUTES')
37
- disableConcurrentBuilds()
38
- timestamps()
39
- ansiColor('xterm')
40
- }
41
-
42
- parameters {
43
- booleanParam(name: 'LINUX_X86', defaultValue: true, description: 'Linux x86 binaries')
44
- booleanParam(name: 'LINUX_X86_64', defaultValue: true, description: 'Linux x86_64 binaries')
45
- booleanParam(name: 'MACOS', defaultValue: true, description: 'macOS binaries')
46
- }
47
-
48
- stages {
49
- stage('Initialize') {
50
- steps {
51
- script {
52
- // The syntaxes 'env.FOO = FOO = ...' and 'FOO = env.FOO = ...'
53
- // do not work for some reason; one of them will become null.
54
- // So we split the assignments in two separate statements.
55
-
56
- env.JOB_NAME_AS_ID = env.JOB_NAME.replace(' ', '-')
57
- JOB_NAME_AS_ID = env.JOB_NAME_AS_ID
58
-
59
- if (env.JOB_NAME.indexOf('Enterprise') != -1) {
60
- env.ENTERPRISE = '1'
61
- } else {
62
- env.ENTERPRISE = '0'
63
- }
64
-
65
- // For debugging purposes
66
- sh 'env | sort'
67
- }
68
- }
69
- }
70
-
71
- stage('Build') {
72
- steps {
73
- script {
74
- parallel(
75
- 'Linux x86': {
76
- setupLinuxTest(params.LINUX_X86, 'x86') {
77
- checkout scm
78
- sh './dev/ci/tests/binaries/build-linux'
79
- archiveArtifacts artifacts: 'output-linux-x86/**/*'
80
- sh './dev/ci/tests/binaries/test-linux'
81
- }
82
- },
83
- 'Linux x86_64': {
84
- setupLinuxTest(params.LINUX_X86_64, 'x86_64') {
85
- checkout scm
86
- sh './dev/ci/tests/binaries/build-linux'
87
- archiveArtifacts artifacts: 'output-linux-x86_64/**/*'
88
- sh './dev/ci/tests/binaries/test-linux'
89
- }
90
- },
91
- 'macOS': {
92
- setupMacosTest(params.MACOS) {
93
- checkout scm
94
- sh './dev/ci/tests/binaries/prepare-macos'
95
- sh './dev/ci/tests/binaries/build-macos'
96
- archiveArtifacts artifacts: 'output-macos/**/*'
97
- sh './dev/ci/tests/binaries/test-macos'
98
- }
99
- }
100
- )
101
- }
102
- }
103
- }
104
- }
105
- }
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env bash
2
- # This script is from the "Passenger binaries test" Jenkins job. It builds
3
- # generic Linux binaries for a specific architecture.
4
- #
5
- # Required environment variables:
6
- #
7
- # WORKSPACE
8
- # ARCHITECTURE
9
- #
10
- # Optional environment variables:
11
- #
12
- # PASSENGER_ROOT (defaults to $WORKSPACE)
13
- # OUTPUT_DIR (defaults to $WORKSPACE/output)
14
- # CACHE_DIR (defaults to $WORKSPACE/cache)
15
-
16
- set -e
17
- SELFDIR=$(dirname "$0")
18
- cd "$SELFDIR/../../../../packaging/binaries"
19
- # shellcheck source=../../../../packaging/binaries/shared/lib/library.sh
20
- source "./shared/lib/library.sh"
21
-
22
- require_envvar WORKSPACE "$WORKSPACE"
23
- require_envvar ARCHITECTURE "$ARCHITECTURE"
24
-
25
- PASSENGER_ROOT="${PASSENGER_ROOT:-$WORKSPACE}"
26
- OUTPUT_DIR="${OUTPUT_DIR:-$WORKSPACE/output}"
27
- CACHE_DIR="${CACHE_DIR:-$WORKSPACE/cache}"
28
-
29
- run mkdir -p "$OUTPUT_DIR"
30
- run mkdir -p "$CACHE_DIR"
31
-
32
- run ./linux/build \
33
- -p "$PASSENGER_ROOT" \
34
- -c "$CACHE_DIR" \
35
- -o "$OUTPUT_DIR" \
36
- -a "$ARCHITECTURE" \
37
- -j 1 \
38
- passenger nginx
@@ -1,40 +0,0 @@
1
- #!/usr/bin/env bash
2
- # This script is from the "Passenger binaries test" Jenkins job. It builds
3
- # generic macOS binaries.
4
- #
5
- # Required environment variables:
6
- #
7
- # WORKSPACE
8
- #
9
- # Optional environment variables:
10
- #
11
- # PASSENGER_ROOT (defaults to $WORKSPACE)
12
- # OUTPUT_DIR (defaults to $WORKSPACE/output)
13
- # CACHE_DIR (defaults to $WORKSPACE/cache)
14
- # RUNTIME_DIR (defaults to $CACHE_DIR/runtime)
15
-
16
- set -e
17
- SELFDIR=$(dirname "$0")
18
- cd "$SELFDIR/../../../../packaging/binaries"
19
- # shellcheck source=../../../../packaging/binaries/shared/lib/library.sh
20
- source "./shared/lib/library.sh"
21
-
22
- require_envvar WORKSPACE "$WORKSPACE"
23
-
24
- PASSENGER_ROOT="${PASSENGER_ROOT:-$WORKSPACE}"
25
- OUTPUT_DIR="${OUTPUT_DIR:-$WORKSPACE/output}"
26
- CACHE_DIR="${CACHE_DIR:-$WORKSPACE/cache}"
27
- RUNTIME_DIR="${RUNTIME_DIR:-$CACHE_DIR/runtime}"
28
-
29
- RUNTIME_VERSION=$(cat shared/definitions/macos_runtime_version)
30
-
31
- run mkdir -p "$OUTPUT_DIR"
32
- run mkdir -p "$CACHE_DIR"
33
-
34
- run ./macos/build \
35
- -p "$PASSENGER_ROOT" \
36
- -r "$RUNTIME_DIR/$RUNTIME_VERSION" \
37
- -c "$CACHE_DIR" \
38
- -o "$OUTPUT_DIR" \
39
- -j 1 \
40
- passenger nginx
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env bash
2
- # This script is from the "Passenger binaries test" Jenkins job. It set ups
3
- # a runtime directory for the "build-macos" script.
4
- #
5
- # Required environment variables:
6
- #
7
- # WORKSPACE
8
- #
9
- # Optional environment variables:
10
- #
11
- # PASSENGER_ROOT (defaults to $WORKSPACE)
12
- # OUTPUT_DIR (defaults to $WORKSPACE/output)
13
- # CACHE_DIR (defaults to $WORKSPACE/cache)
14
- # RUNTIME_DIR (defaults to $CACHE_DIR/runtime)
15
-
16
- set -e
17
- SELFDIR=$(dirname "$0")
18
- cd "$SELFDIR/../../../../packaging/binaries"
19
- # shellcheck source=../../../../packaging/binaries/shared/lib/library.sh
20
- source "./shared/lib/library.sh"
21
-
22
- require_envvar WORKSPACE "$WORKSPACE"
23
-
24
- PASSENGER_ROOT="${PASSENGER_ROOT:-$WORKSPACE}"
25
- OUTPUT_DIR="${OUTPUT_DIR:-$WORKSPACE/output}"
26
- CACHE_DIR="${CACHE_DIR:-$WORKSPACE/cache}"
27
- RUNTIME_DIR="${RUNTIME_DIR:-$CACHE_DIR/runtime}"
28
-
29
- RUNTIME_VERSION=$(cat shared/definitions/macos_runtime_version)
30
-
31
- run mkdir -p "$OUTPUT_DIR"
32
- run mkdir -p "$CACHE_DIR"
33
- run mkdir -p "$RUNTIME_DIR/$RUNTIME_VERSION"
34
-
35
- run ./macos/setup-runtime \
36
- -c "$CACHE_DIR" \
37
- -o "$RUNTIME_DIR/$RUNTIME_VERSION" \
38
- -j 1
@@ -1,45 +0,0 @@
1
- #!/usr/bin/env bash
2
- # This script is from the "Passenger binaries test" Jenkins job. It runs
3
- # runs tests on the binaries generated by the "build-linux" script.
4
- #
5
- # Required environment variables:
6
- #
7
- # WORKSPACE
8
- # ARCHITECTURE
9
- #
10
- # Optional environment variables:
11
- #
12
- # PASSENGER_ROOT (defaults to $WORKSPACE)
13
- # OUTPUT_DIR (defaults to $WORKSPACE/output)
14
- # ENTERPRISE
15
-
16
- set -e
17
- SELFDIR=$(dirname "$0")
18
- cd "$SELFDIR/../../../../packaging/binaries"
19
- # shellcheck source=../../../../packaging/binaries/shared/lib/library.sh
20
- source "./shared/lib/library.sh"
21
-
22
- require_envvar WORKSPACE "$WORKSPACE"
23
- require_envvar ARCHITECTURE "$ARCHITECTURE"
24
-
25
- PASSENGER_ROOT="${PASSENGER_ROOT:-$WORKSPACE}"
26
- OUTPUT_DIR="${OUTPUT_DIR:-$WORKSPACE/output}"
27
-
28
- EXTRA_TEST_PARAMS=()
29
- if [[ "$ENTERPRISE" = 1 ]]; then
30
- EXTRA_TEST_PARAMS=(-L /etc/passenger-enterprise-license)
31
- fi
32
-
33
- run mkdir -p "$OUTPUT_DIR"
34
- run mkdir -p "$CACHE_DIR"
35
-
36
- run ./linux/package \
37
- -i "$OUTPUT_DIR" \
38
- -o "$OUTPUT_DIR" \
39
- -a "$ARCHITECTURE"
40
- run ./linux/test \
41
- -p "$PASSENGER_ROOT" \
42
- -i "$OUTPUT_DIR" \
43
- -I "$OUTPUT_DIR" \
44
- -a "$ARCHITECTURE" \
45
- "${EXTRA_TEST_PARAMS[@]}"
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env bash
2
- # This script is from the "Passenger binaries test" Jenkins job. It runs
3
- # runs tests on the binaries generated by the "build-macos" script.
4
- #
5
- # Required environment variables:
6
- #
7
- # WORKSPACE
8
- #
9
- # Optional environment variables:
10
- #
11
- # PASSENGER_ROOT (defaults to $WORKSPACE)
12
- # OUTPUT_DIR (defaults to $WORKSPACE/output)
13
- # RUNTIME_DIR (defaults to $WORKSPACE/cache/runtime)
14
-
15
- set -e
16
- SELFDIR=$(dirname "$0")
17
- cd "$SELFDIR/../../../../packaging/binaries"
18
- # shellcheck source=../../../../packaging/binaries/shared/lib/library.sh
19
- source "./shared/lib/library.sh"
20
-
21
- require_envvar WORKSPACE "$WORKSPACE"
22
-
23
- PASSENGER_ROOT="${PASSENGER_ROOT:-$WORKSPACE}"
24
- OUTPUT_DIR="${OUTPUT_DIR:-$WORKSPACE/output}"
25
- RUNTIME_DIR="${RUNTIME_DIR:-$WORKSPACE/cache/runtime}"
26
-
27
- RUNTIME_VERSION=$(cat shared/definitions/macos_runtime_version)
28
-
29
- run mkdir -p "$OUTPUT_DIR"
30
-
31
- run ./macos/package \
32
- -i "$OUTPUT_DIR" \
33
- -o "$OUTPUT_DIR"
34
- run ./macos/test \
35
- -p "$PASSENGER_ROOT" \
36
- -r "$RUNTIME_DIR/$RUNTIME_VERSION" \
37
- -i "$OUTPUT_DIR" \
38
- -I "$OUTPUT_DIR"
data/dev/ci/tests/cxx/run DELETED
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -e
3
-
4
- header2 "Running C++ tests"
5
- run bundle exec drake "-j$COMPILE_CONCURRENCY" test:cxx
6
- echo
7
-
8
- header2 "Running OXT tests"
9
- run bundle exec drake "-j$COMPILE_CONCURRENCY" test:oxt
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -e
3
-
4
- retry_run 3 rake test:install_deps BASE_DEPS=yes
@@ -1,89 +0,0 @@
1
- def getDefaultDistros() {
2
- def distroInfo = readFile("packaging/debian/internal/lib/distro_info.sh")
3
- def matcher = distroInfo =~ /DEFAULT_DISTROS="(.+?)"/
4
- if (matcher.find()) {
5
- matcher.group(1).split().sort()
6
- } else {
7
- error("Unable to parse packaging/debian/internal/lib/distro_info.sh")
8
- }
9
- }
10
-
11
- def testDebianPackages(distro, params) {
12
- if ((!distro in params) || params[distro]) {
13
- node('linux') {
14
- def env = [
15
- "CACHE_DIR=${env.JENKINS_HOME}/cache/${env.JOB_NAME}/${distro}",
16
- "DISTRIBUTION=${distro}",
17
- "ARCHITECTURE=amd64"
18
- ]
19
- withEnv(env) {
20
- checkout scm
21
- sh './dev/ci/tests/debian/run'
22
- }
23
- }
24
- } else {
25
- echo 'Test skipped.'
26
- }
27
- }
28
-
29
- pipeline {
30
- agent { node { label 'master-pipeline' } }
31
-
32
- options {
33
- buildDiscarder(logRotator(numToKeepStr: '10'))
34
- timeout(time: 45, unit: 'MINUTES')
35
- disableConcurrentBuilds()
36
- timestamps()
37
- ansiColor('xterm')
38
- }
39
-
40
- parameters {
41
- booleanParam(name: 'trusty', defaultValue: true, description: 'Test Ubuntu 14.04 packages')
42
- booleanParam(name: 'xenial', defaultValue: true, description: 'Test Ubuntu 16.04 packages')
43
- booleanParam(name: 'artful', defaultValue: true, description: 'Test Ubuntu 17.10 packages')
44
- booleanParam(name: 'bionic', defaultValue: true, description: 'Test Ubuntu 18.04 packages')
45
-
46
- booleanParam(name: 'jessie', defaultValue: true, description: 'Test Debian 8 packages')
47
- booleanParam(name: 'stretch', defaultValue: true, description: 'Test Debian 9 packages')
48
- }
49
-
50
- stages {
51
- stage('Initialize') {
52
- steps {
53
- script {
54
- if (env.JOB_NAME.indexOf('Enterprise') != -1) {
55
- env.ENTERPRISE = '1'
56
- } else {
57
- env.ENTERPRISE = '0'
58
- }
59
-
60
- // For debugging purposes
61
- sh 'env | sort'
62
- }
63
- }
64
- }
65
-
66
-
67
-
68
- stage('Test') {
69
- steps {
70
- script {
71
- def defaultDistros = getDefaultDistros()
72
- def i
73
- def parallelSteps = [:]
74
-
75
- // We use a plain loop over .each because of this bug:
76
- // https://issues.jenkins-ci.org/browse/JENKINS-27421
77
- for (i = 0; i < defaultDistros.length; i++) {
78
- def distro = defaultDistros[i]
79
- parallelSteps[distro] = {
80
- testDebianPackages(distro, params)
81
- }
82
- }
83
-
84
- parallel(parallelSteps)
85
- }
86
- }
87
- }
88
- }
89
- }
@@ -1,60 +0,0 @@
1
- #!/usr/bin/env bash
2
- # This script is from the "Passenger Debian packaging test" Jenkins job. It builds
3
- # packages for a specific distribution and architecture and runs tests on the resulting packages.
4
- #
5
- # Required environment variables:
6
- #
7
- # WORKSPACE
8
- # DISTRIBUTION
9
- # ARCHITECTURE
10
- #
11
- # Optional environment variables:
12
- #
13
- # PASSENGER_ROOT (defaults to $WORKSPACE)
14
- # CACHE_DIR (defaults to $WORKSPACE/cache)
15
- # ENTERPRISE
16
- # DEBUG_CONSOLE
17
- #
18
- # Sample invocation in Vagrant dev environment:
19
- #
20
- # env WORKSPACE=$HOME DISTRIBUTION=el7 ARCHITECTURE=x86_64 PASSENGER_ROOT=/passenger ./dev/ci/debian/run
21
-
22
- set -e
23
- SELFDIR=$(dirname "$0")
24
- cd "$SELFDIR/../../../../packaging/debian"
25
- # shellcheck source=../../../../packaging/debian/internal/lib/library.sh
26
- source "./internal/lib/library.sh"
27
-
28
- require_envvar WORKSPACE "$WORKSPACE"
29
- require_envvar DISTRIBUTION "$DISTRIBUTION"
30
- require_envvar ARCHITECTURE "$ARCHITECTURE"
31
-
32
- PASSENGER_ROOT="${PASSENGER_ROOT:-$WORKSPACE}"
33
- CACHE_DIR="${CACHE_DIR:-$WORKSPACE/cache}"
34
-
35
- if [[ "$DEBUG_CONSOLE" = true ]]; then
36
- EXTRA_TEST_PARAMS=-D
37
- else
38
- EXTRA_TEST_PARAMS=
39
- fi
40
- if [[ "$ENTERPRISE" = 1 ]]; then
41
- EXTRA_TEST_PARAMS="$EXTRA_TEST_PARAMS -e /etc/passenger-enterprise-license"
42
- fi
43
-
44
- run mkdir -p "$CACHE_DIR"
45
- run ./build \
46
- -w "$WORKSPACE/work" \
47
- -c "$CACHE_DIR" \
48
- -o "$WORKSPACE/output" \
49
- -p "$PASSENGER_ROOT" \
50
- -d "$DISTRIBUTION" \
51
- -a "$ARCHITECTURE" \
52
- -R \
53
- pkg:all
54
- run ./test \
55
- -p "$PASSENGER_ROOT" \
56
- -d "$WORKSPACE/output/$DISTRIBUTION" \
57
- -c "$CACHE_DIR" \
58
- -x "$DISTRIBUTION" \
59
- -j \
60
- $EXTRA_TEST_PARAMS
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -e
3
-
4
- run ./bin/passenger-install-nginx-module --auto --prefix=/tmp/nginx --auto-download
5
- run bundle exec drake "-j$COMPILE_CONCURRENCY" test:integration:nginx
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -e
3
-
4
- retry_run 3 rake test:install_deps BASE_DEPS=yes NODE_MODULES=yes
@@ -1,20 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -e
3
-
4
- TEST_DYNAMIC_WITH_NGINX_VERSION=1.12.1
5
- NGINX_ADDON_DIR=$(./bin/passenger-config --nginx-addon-dir)
6
- echo "+ Nginx addon dir: $NGINX_ADDON_DIR"
7
- echo
8
-
9
- header2 "Compliing Passenger"
10
- run drake "-j$COMPILE_CONCURRENCY" nginx:as_dynamic_module
11
- echo
12
-
13
- header2 "Downloading and compiling Nginx"
14
- cd buildout
15
- run curl -sSLO https://www.nginx.org/download/nginx-$TEST_DYNAMIC_WITH_NGINX_VERSION.tar.gz
16
- run tar -xzf nginx-$TEST_DYNAMIC_WITH_NGINX_VERSION.tar.gz
17
- echo "+ Entering nginx-$TEST_DYNAMIC_WITH_NGINX_VERSION"
18
- cd "nginx-$TEST_DYNAMIC_WITH_NGINX_VERSION"
19
- run ./configure --with-cc='ccache cc' --add-dynamic-module="$NGINX_ADDON_DIR"
20
- run make "-j$COMPILE_CONCURRENCY"
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -e
3
-
4
- retry_run 3 rake test:install_deps BASE_DEPS=yes
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -e
3
-
4
- run bundle exec drake "-j$COMPILE_CONCURRENCY" test:node
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -e
3
-
4
- retry_run 3 rake test:install_deps BASE_DEPS=yes NODE_MODULES=yes