From 919f1540605835e765fe494f3cc63cc58e54bbc4 Mon Sep 17 00:00:00 2001 From: aram price Date: Tue, 14 Jul 2026 16:21:05 -0700 Subject: [PATCH] Generated runtime.env adds $GEM_HOME/bin to $PATH --- README.md | 1 + ci/templates/packages/ruby-test/packaging.erb | 2 +- ci/templates/packages/ruby/packaging.erb | 5 +++-- ci/templates/src/compile.env.erb | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8a8c4d5..f196420 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ The `bump-gems` task runs `bundle update` on each of your Gemfiles and optionall Included functions in `compile.env`: - `bosh_bundle` which runs `bundle install ...` targeted at `${BOSH_INSTALL_TARGET}` +- `bosh_bundle_local` which runs `bosh_bundle --local ...` targeted at `${BOSH_INSTALL_TARGET}` - `bosh_generate_runtime_env` which generates `${BOSH_INSTALL_TARGET}/bosh/runtime.env` To use `ruby-*` package for compilation in your packaging script: diff --git a/ci/templates/packages/ruby-test/packaging.erb b/ci/templates/packages/ruby-test/packaging.erb index b1b1e90..e04bce6 100644 --- a/ci/templates/packages/ruby-test/packaging.erb +++ b/ci/templates/packages/ruby-test/packaging.erb @@ -14,6 +14,6 @@ fi cp -r ./test-app/. "${BOSH_INSTALL_TARGET}/" -cd ${BOSH_INSTALL_TARGET} +cd "${BOSH_INSTALL_TARGET}" bosh_bundle_local bosh_generate_runtime_env diff --git a/ci/templates/packages/ruby/packaging.erb b/ci/templates/packages/ruby/packaging.erb index bcb83ed..527ffda 100644 --- a/ci/templates/packages/ruby/packaging.erb +++ b/ci/templates/packages/ruby/packaging.erb @@ -6,7 +6,7 @@ RUBY_VERSION=<%= ruby_patch_version %> RUBYGEMS_VERSION=<%= rubygems_version %> LIBYAML_VERSION=<%= yaml_version %> -if [ $(uname -s) == "Darwin" ]; then +if [ "$(uname -s)" == "Darwin" ]; then if brew --prefix openssl; then brew_prefix_openssl="$(brew --prefix openssl)" PATH="${brew_prefix_openssl}/bin:$PATH" @@ -66,7 +66,8 @@ tar xzf "ruby-${RUBY_VERSION}.tar.gz" mkdir "${BOSH_INSTALL_TARGET}/bosh" cp gemrc "${BOSH_INSTALL_TARGET}/bosh/gemrc" -export PACKAGE_NAME="$(basename ${BOSH_INSTALL_TARGET})" +PACKAGE_NAME="$(basename "${BOSH_INSTALL_TARGET}")" +export PACKAGE_NAME sed "s#\${PACKAGE_NAME}#${PACKAGE_NAME}#" compile-<%= ruby_version %>.env > "${BOSH_INSTALL_TARGET}/bosh/compile.env" sed "s#\${PACKAGE_NAME}#${PACKAGE_NAME}#" runtime-<%= ruby_version %>.env > "${BOSH_INSTALL_TARGET}/bosh/runtime.env" diff --git a/ci/templates/src/compile.env.erb b/ci/templates/src/compile.env.erb index 30a3aca..b78a8fd 100644 --- a/ci/templates/src/compile.env.erb +++ b/ci/templates/src/compile.env.erb @@ -32,8 +32,8 @@ bosh_bundle_local() { bosh_generate_runtime_env() { mkdir -p "${BOSH_INSTALL_TARGET}/bosh" cat > "${BOSH_INSTALL_TARGET}/bosh/runtime.env" < +export PATH=${BOSH_INSTALL_TARGET}/bin:\${GEM_HOME}/bin:\${PATH} export BUNDLE_GEMFILE=${BOSH_INSTALL_TARGET}/Gemfile EOF }