(#15464) Exclude gem command from bundler
This patch simply excludes the `gem` command from the dependency handling of Bundler with the `rubygems-bundler` gem installed. This patch also updates the README to describe the resolution to the spec test failures we've been seeing when Puppet contains a Gemfile in the project root. To summarize: Use of RVM is considered dangerous We're able to work around the problem, but the hijacking of shell builtin commands is a maintenance burden we're not willing to shoulder, hence RVM being considered a dangerous tool.
This commit is contained in:
Родитель
54ea4feb40
Коммит
48a9cc2a9a
|
@ -1,4 +1,5 @@
|
|||
---
|
||||
exclude:
|
||||
- gem
|
||||
- rake
|
||||
- rspec
|
||||
|
|
|
@ -3,6 +3,28 @@
|
|||
This file is intended to provide a place for developers and contributors to
|
||||
document what other developers need to know about changes made to Puppet.
|
||||
|
||||
# Use of RVM considered dangerous #
|
||||
|
||||
Use of RVM in production situations, e.g. running CI tests against this
|
||||
repository, is considered dangerous. The reason we consider RVM to be
|
||||
dangerous is because the default behavior of RVM is to hijack the builtin
|
||||
behavior of the shell, causing Gemfile files to be loaded and evaluated when
|
||||
the shell changes directories into the project root.
|
||||
|
||||
This behavior causes the CI Job execution environment that runs with `set -e`
|
||||
to be incompatible with RVM.
|
||||
|
||||
We work around this issue by disabling the per-project RC file parsing using
|
||||
|
||||
if ! grep -qx rvm_project_rvmrc=0 ~/.rvmrc; then
|
||||
echo rvm_project_rvmrc=0 >> ~/.rvmrc
|
||||
fi
|
||||
|
||||
When we setup CI nodes, but this is not standard or expected behavior.
|
||||
|
||||
Please consider rbenv instead of rvm. The default behavior of rvm is difficult
|
||||
to maintain with `set -e` shell environments.
|
||||
|
||||
# Dependencies #
|
||||
|
||||
Puppet is considered an Application as it relates to the recommendation of
|
||||
|
|
Загрузка…
Ссылка в новой задаче