passenger 5.3.5 → 5.3.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (211) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +13 -0
  3. data/README.md +2 -1
  4. data/Rakefile +0 -5
  5. data/build/agent.rb +2 -1
  6. data/build/cxx_tests.rb +18 -20
  7. data/build/integration_tests.rb +6 -2
  8. data/build/support/cxx_dependency_map.rb +2019 -1966
  9. data/dev/colorize-logs +272 -0
  10. data/src/agent/Core/AdminPanelConnector.h +3 -3
  11. data/src/agent/Core/ApiServer.h +4 -4
  12. data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +2 -2
  13. data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +2 -2
  14. data/src/agent/Core/ApplicationPool/Implementation.cpp +5 -5
  15. data/src/agent/Core/ApplicationPool/Pool.h +4 -4
  16. data/src/agent/Core/ApplicationPool/Process.h +10 -15
  17. data/src/agent/Core/ApplicationPool/Socket.h +2 -2
  18. data/src/agent/Core/ApplicationPool/TestSession.h +3 -3
  19. data/src/agent/Core/Config.h +4 -2
  20. data/src/agent/Core/Controller.h +4 -4
  21. data/src/agent/Core/Controller/Config.h +1 -1
  22. data/src/agent/Core/Controller/SendRequest.cpp +2 -2
  23. data/src/agent/Core/Controller/TurboCaching.h +2 -2
  24. data/src/agent/Core/CoreMain.cpp +2 -2
  25. data/src/agent/Core/OptionParser.h +2 -2
  26. data/src/agent/Core/ResponseCache.h +3 -3
  27. data/src/agent/Core/SecurityUpdateChecker.h +2 -2
  28. data/src/agent/Core/SpawningKit/Config.h +2 -1
  29. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +1 -1
  30. data/src/agent/Core/SpawningKit/Context.h +1 -1
  31. data/src/agent/Core/SpawningKit/DirectSpawner.h +3 -3
  32. data/src/agent/Core/SpawningKit/DummySpawner.h +3 -3
  33. data/src/agent/Core/SpawningKit/ErrorRenderer.h +1 -1
  34. data/src/agent/Core/SpawningKit/Exceptions.h +2 -2
  35. data/src/agent/Core/SpawningKit/Factory.h +1 -1
  36. data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
  37. data/src/agent/Core/SpawningKit/Handshake/Perform.h +13 -2
  38. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +3 -3
  39. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +1 -1
  40. data/src/agent/Core/SpawningKit/Journey.h +4 -5
  41. data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
  42. data/src/agent/Core/SpawningKit/Result.h +20 -8
  43. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +1 -1
  44. data/src/agent/Core/SpawningKit/SmartSpawner.h +6 -6
  45. data/src/agent/Core/SpawningKit/Spawner.h +2 -2
  46. data/src/agent/Core/TelemetryCollector.h +13 -7
  47. data/src/agent/ExecHelper/ExecHelperMain.cpp +1 -1
  48. data/src/agent/README.md +1 -1
  49. data/src/agent/Shared/ApiAccountUtils.h +1 -1
  50. data/src/agent/Shared/ApiServerUtils.h +3 -3
  51. data/src/agent/Shared/ApplicationPoolApiKey.h +2 -2
  52. data/src/agent/Shared/Fundamentals/Initialization.cpp +4 -4
  53. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +1 -1
  54. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +4 -3
  55. data/src/agent/Watchdog/ApiServer.h +3 -3
  56. data/src/agent/Watchdog/Config.h +3 -2
  57. data/src/agent/Watchdog/CoreWatcher.cpp +2 -2
  58. data/src/agent/Watchdog/WatchdogMain.cpp +93 -27
  59. data/src/apache2_module/Config.cpp +14 -14
  60. data/src/apache2_module/Config.h +8 -16
  61. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +505 -491
  62. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +39 -17
  63. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +24 -1
  64. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +31 -1
  65. data/src/{cxx_supportlib/Utils/MemoryBarrier.h → apache2_module/ConfigGeneral/Common.h} +17 -25
  66. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +12 -1
  67. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +16 -1
  68. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +19 -5
  69. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +26 -9
  70. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +6 -1
  71. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +10 -1
  72. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +7 -1
  73. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +11 -1
  74. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +23 -1
  75. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +34 -1
  76. data/src/apache2_module/Hooks.cpp +3 -3
  77. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -1
  78. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +36 -1
  79. data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.cpp +2 -2
  80. data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.h +4 -4
  81. data/src/cxx_supportlib/AppTypeDetector/Detector.h +1 -1
  82. data/src/cxx_supportlib/ConfigKit/Schema.h +2 -2
  83. data/src/cxx_supportlib/ConfigKit/Store.h +1 -1
  84. data/src/cxx_supportlib/Constants.h +1 -1
  85. data/src/cxx_supportlib/{Utils → DataStructures}/HashMap.h +4 -4
  86. data/src/cxx_supportlib/DataStructures/HashedStaticString.h +5 -5
  87. data/src/cxx_supportlib/DataStructures/LString.h +3 -3
  88. data/src/cxx_supportlib/{Utils → DataStructures}/StringMap.h +36 -36
  89. data/src/cxx_supportlib/FileTools/FileManip.cpp +1 -1
  90. data/src/cxx_supportlib/FileTools/PathManip.cpp +2 -2
  91. data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +1 -1
  92. data/src/cxx_supportlib/Hooks.h +2 -2
  93. data/src/cxx_supportlib/{Utils → IOTools}/BufferedIO.h +5 -5
  94. data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.cpp +2 -2
  95. data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.h +3 -3
  96. data/src/cxx_supportlib/{Utils → IOTools}/MessageIO.h +7 -7
  97. data/src/cxx_supportlib/{MessageReadersWriters.h → IOTools/MessageSerialization.h} +5 -5
  98. data/src/cxx_supportlib/InstanceDirectory.h +4 -4
  99. data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
  100. data/src/cxx_supportlib/{Utils → JsonTools}/JsonUtils.h +5 -5
  101. data/src/cxx_supportlib/LoggingKit/Context.h +2 -2
  102. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +3 -3
  103. data/src/cxx_supportlib/MemoryKit/mbuf.cpp +2 -2
  104. data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +5 -5
  105. data/src/cxx_supportlib/ProcessManagement/Utils.h +10 -0
  106. data/src/cxx_supportlib/RandomGenerator.h +2 -2
  107. data/src/cxx_supportlib/{Crypto.cpp → SecurityKit/Crypto.cpp} +4 -4
  108. data/src/cxx_supportlib/{Crypto.h → SecurityKit/Crypto.h} +4 -4
  109. data/src/cxx_supportlib/{Utils → SecurityKit}/MemZeroGuard.h +0 -0
  110. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +2 -2
  111. data/src/cxx_supportlib/ServerKit/Channel.h +1 -1
  112. data/src/cxx_supportlib/ServerKit/Context.h +2 -2
  113. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +1 -1
  114. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +3 -3
  115. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +2 -2
  116. data/src/cxx_supportlib/ServerKit/HttpServer.h +16 -10
  117. data/src/cxx_supportlib/ServerKit/Server.h +3 -3
  118. data/src/cxx_supportlib/{Utils → StrIntTools}/DateParsing.h +5 -5
  119. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.cpp +3 -3
  120. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.h +0 -0
  121. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtilsNoStrictAliasing.cpp +2 -2
  122. data/src/cxx_supportlib/{Utils → StrIntTools}/StringScanning.h +5 -5
  123. data/src/cxx_supportlib/{Utils → StrIntTools}/Template.h +30 -5
  124. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +34 -0
  125. data/src/cxx_supportlib/{Utils → SystemTools}/ProcessMetricsCollector.h +6 -6
  126. data/src/cxx_supportlib/{Utils → SystemTools}/SystemMetricsCollector.h +3 -3
  127. data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.cpp +1 -1
  128. data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.h +0 -0
  129. data/src/cxx_supportlib/SystemTools/UserDatabase.h +1 -1
  130. data/src/cxx_supportlib/Utils.cpp +2 -2
  131. data/src/cxx_supportlib/Utils/CachedFileStat.hpp +3 -3
  132. data/src/cxx_supportlib/Utils/Curl.h +2 -2
  133. data/src/cxx_supportlib/Utils/FileChangeChecker.h +2 -2
  134. data/src/cxx_supportlib/Utils/MessagePassing.h +1 -1
  135. data/src/cxx_supportlib/Utils/SpeedMeter.h +2 -2
  136. data/src/cxx_supportlib/Utils/Timer.h +2 -2
  137. data/src/cxx_supportlib/Utils/VariantMap.h +3 -3
  138. data/src/cxx_supportlib/WatchdogLauncher.h +3 -3
  139. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +1 -1
  140. data/src/cxx_supportlib/WrapperRegistry/Registry.h +1 -1
  141. data/src/cxx_supportlib/vendor-modified/psg_sysqueue.h +3 -0
  142. data/src/ruby_supportlib/phusion_passenger.rb +1 -1
  143. data/src/ruby_supportlib/phusion_passenger/common_library.rb +11 -11
  144. data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +4 -4
  145. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
  146. data/src/ruby_supportlib/phusion_passenger/message_channel.rb +2 -2
  147. data/src/ruby_supportlib/phusion_passenger/packaging.rb +20 -19
  148. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +22 -4
  149. data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +33 -13
  150. data/src/schema_printer/SchemaPrinterMain.cpp +2 -0
  151. metadata +28 -86
  152. data/.editorconfig +0 -134
  153. data/CODE_OF_CONDUCT.md +0 -52
  154. data/dev/boost-patches/0001-Patch-boost-thread-so-that-oxt-thread-can-use-it.patch +0 -48
  155. data/dev/boost-patches/0002-Make-boost-thread_interrupted-derive-from-oxt-tracab.patch +0 -33
  156. data/dev/boost-patches/0003-Disable-a-Clang-pragma-to-prevent-warnings-on-OS-X.patch +0 -25
  157. data/dev/ci/README.md +0 -134
  158. data/dev/ci/lib/functions.sh +0 -129
  159. data/dev/ci/lib/set-container-envvars.sh +0 -53
  160. data/dev/ci/lib/setup-container.sh +0 -46
  161. data/dev/ci/run-tests-natively +0 -24
  162. data/dev/ci/run-tests-with-docker +0 -42
  163. data/dev/ci/scripts/debug-console-wrapper.sh +0 -29
  164. data/dev/ci/scripts/docker-entrypoint-stage2.sh +0 -17
  165. data/dev/ci/scripts/docker-entrypoint.sh +0 -17
  166. data/dev/ci/scripts/inituidgid +0 -17
  167. data/dev/ci/scripts/run-tests-natively-stage2.sh +0 -17
  168. data/dev/ci/scripts/setup-host-natively.sh +0 -11
  169. data/dev/ci/setup-host +0 -56
  170. data/dev/ci/tests/apache2/run +0 -6
  171. data/dev/ci/tests/apache2/setup +0 -4
  172. data/dev/ci/tests/binaries/Jenkinsfile +0 -105
  173. data/dev/ci/tests/binaries/build-linux +0 -38
  174. data/dev/ci/tests/binaries/build-macos +0 -40
  175. data/dev/ci/tests/binaries/prepare-macos +0 -38
  176. data/dev/ci/tests/binaries/test-linux +0 -45
  177. data/dev/ci/tests/binaries/test-macos +0 -38
  178. data/dev/ci/tests/cxx/run +0 -9
  179. data/dev/ci/tests/cxx/setup +0 -4
  180. data/dev/ci/tests/debian/Jenkinsfile +0 -89
  181. data/dev/ci/tests/debian/run +0 -60
  182. data/dev/ci/tests/nginx-dynamic/run +0 -20
  183. data/dev/ci/tests/nginx-dynamic/setup +0 -4
  184. data/dev/ci/tests/nginx/run +0 -5
  185. data/dev/ci/tests/nginx/setup +0 -4
  186. data/dev/ci/tests/nodejs/run +0 -4
  187. data/dev/ci/tests/nodejs/setup +0 -4
  188. data/dev/ci/tests/rpm/Jenkinsfile +0 -68
  189. data/dev/ci/tests/rpm/run +0 -63
  190. data/dev/ci/tests/ruby/run +0 -4
  191. data/dev/ci/tests/ruby/setup +0 -4
  192. data/dev/ci/tests/source-packaging/run +0 -4
  193. data/dev/ci/tests/source-packaging/setup +0 -4
  194. data/dev/ci/tests/standalone/run +0 -4
  195. data/dev/ci/tests/standalone/setup +0 -4
  196. data/dev/configkit-schemas/index.json +0 -1850
  197. data/dev/configkit-schemas/update_schema_inline_comments.rb +0 -118
  198. data/dev/rack.test/config.ru +0 -5
  199. data/dev/rack.test/public/asset.txt +0 -1
  200. data/dev/vagrant/apache_default_site.conf +0 -35
  201. data/dev/vagrant/apache_passenger.conf +0 -5
  202. data/dev/vagrant/apache_passenger.load +0 -1
  203. data/dev/vagrant/apache_ports.conf +0 -24
  204. data/dev/vagrant/apache_rack_test.conf +0 -9
  205. data/dev/vagrant/bashrc +0 -23
  206. data/dev/vagrant/nginx.conf +0 -39
  207. data/dev/vagrant/nginx_rakefile +0 -33
  208. data/dev/vagrant/nginx_start +0 -32
  209. data/dev/vagrant/provision.sh +0 -117
  210. data/dev/vagrant/sudoers.conf +0 -5
  211. data/resources/templates/error_renderer/.editorconfig +0 -19
@@ -1,42 +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
- autodetect_environment
12
- sanity_check_environment
13
- echo
14
-
15
- if [[ "$OS" != linux ]]; then
16
- echo "ERROR: this script can only be run on Linux." >&2
17
- exit 1
18
- fi
19
-
20
- if tty -s; then
21
- TTY_ARGS='-t -i'
22
- else
23
- TTY_ARGS=
24
- fi
25
-
26
- run_exec docker run --rm $TTY_ARGS \
27
- -v "$PASSENGER_ROOT:/passenger" \
28
- -v "$CACHE_DIR:/passenger/.ci_cache" \
29
- -e "APP_UID=$(id -u)" \
30
- -e "APP_GID=$(id -g)" \
31
- -e "DEBUG_CONSOLE=$DEBUG_CONSOLE" \
32
- -e "TEST_RUBY_VERSION=$TEST_RUBY_VERSION" \
33
- -e "COMPILE_CONCURRENCY=$COMPILE_CONCURRENCY" \
34
- -e "SUDO=$SUDO" \
35
- phusion/passenger-ci-docker-env:1.0.1 \
36
- /sbin/my_init --skip-runit --skip-startup-files --quiet -- \
37
- /passenger/dev/ci/scripts/inituidgid \
38
- /sbin/setuser app \
39
- /bin/bash -lc 'cd /passenger && exec "$@"' \
40
- ./dev/ci/scripts/docker-entrypoint.sh \
41
- ./dev/ci/scripts/docker-entrypoint.sh \
42
- "$@"
@@ -1,29 +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
- if ! "$@"; then
11
- echo
12
- echo "-----------------------------"
13
- echo
14
- echo "*** An error occurred ***"
15
-
16
- if [[ "$DEBUG_CONSOLE" == 1 ]]; then
17
- echo
18
- echo "*** DEBUG_CONSOLE set to 1, so launching a debugging console..."
19
- echo
20
- # shellcheck source=../lib/set-container-envvars.sh
21
- set +e
22
- source "$PASSENGER_ROOT/dev/ci/lib/set-container-envvars.sh"
23
- header2 "Launching bash"
24
- bash -l
25
- else
26
- echo "If you want to debug this, run '$CI_COMMAND' with the environment variable DEBUG_CONSOLE=1."
27
- fi
28
- exit 1
29
- fi
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -eo pipefail
3
-
4
- SELFDIR=/passenger/dev/ci/scripts
5
- PASSENGER_ROOT=/passenger
6
- # shellcheck source=../lib/functions.sh
7
- source "$SELFDIR/../lib/functions.sh"
8
-
9
- # shellcheck source=../lib/setup-container.sh
10
- source "$PASSENGER_ROOT/dev/ci/lib/setup-container.sh"
11
- add_bundler_path_to_gem_path
12
- echo
13
- echo
14
-
15
- header "Running test suite: $1"
16
- # shellcheck source=/dev/null
17
- source "$PASSENGER_ROOT/dev/ci/tests/$1/run"
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -eo pipefail
3
-
4
- SELFDIR=/passenger/dev/ci/scripts
5
- PASSENGER_ROOT=/passenger
6
- # shellcheck source=../lib/functions.sh
7
- source "$SELFDIR/../lib/functions.sh"
8
- cd "$PASSENGER_ROOT"
9
-
10
- header "Inside Docker container"
11
-
12
- autodetect_environment
13
- echo
14
-
15
- export CI_COMMAND="./dev/ci/run-tests-with-docker $*"
16
- exec "$PASSENGER_ROOT/dev/ci/scripts/debug-console-wrapper.sh" \
17
- "$PASSENGER_ROOT/dev/ci/scripts/docker-entrypoint-stage2.sh" "$@"
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -e
3
-
4
- chown -R "$APP_UID:$APP_GID" /home/app
5
- groupmod -g "$APP_GID" app
6
- usermod -u "$APP_UID" -g "$APP_GID" app
7
-
8
- # There's something strange with either Docker or the kernel, so that
9
- # the 'app' user cannot access its home directory even after a proper
10
- # chown/chmod. We work around it like this.
11
- mv /home/app /home/app2
12
- cp -dpR /home/app2 /home/app
13
- rm -rf /home/app2
14
-
15
- if [[ $# -gt 0 ]]; then
16
- exec "$@"
17
- fi
@@ -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"
@@ -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