Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .final_builds/packages/ruby-3.3/index.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
builds:
0c883b679650908d2761a272e325b27a2d8a541676f2251077ecd89b8db968a7:
version: 0c883b679650908d2761a272e325b27a2d8a541676f2251077ecd89b8db968a7
blobstore_id: 5f2f0737-e2eb-47d6-6417-12c16a1a2972
sha1: sha256:93612a49749e92b013a617c2ab4c8ca7a94938b1670f6ff9ffb93d039048227d
format-version: "2"
2 changes: 1 addition & 1 deletion jobs/blobstore_benchmark/spec
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ templates:
packages:
- capi_utils
- cloud_controller_ng
- ruby-3.2
- ruby-3.3
- jemalloc
- storage-cli
- mariadb_connector_c
Expand Down
2 changes: 1 addition & 1 deletion jobs/cc_deployment_updater/spec
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ packages:
- libpq
- jemalloc
- mariadb_connector_c
- ruby-3.2
- ruby-3.3

consumes:
- name: database
Expand Down
3 changes: 3 additions & 0 deletions jobs/cc_deployment_updater/templates/pre-start.sh.erb
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ set -ex
source /var/vcap/packages/capi_utils/syslog_utils.sh
tee_output_to_sys_log "cc_deployment_updater.$(basename "$0")"

SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")"
source "${SCRIPT_DIR}/ruby_version.sh"

function setup_directories {
RUN_DIR="/var/vcap/sys/run/cc_deployment_updater"
LOG_DIR="/var/vcap/sys/log/cc_deployment_updater"
Expand Down
2 changes: 1 addition & 1 deletion jobs/cloud_controller_clock/spec
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ packages:
- libpq
- jemalloc
- mariadb_connector_c
- ruby-3.2
- ruby-3.3

consumes:
- name: database
Expand Down
3 changes: 3 additions & 0 deletions jobs/cloud_controller_clock/templates/pre-start.sh.erb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ BUNDLER_DIR=/var/vcap/data/cloud_controller_clock/tmp/bundler
chpst -u vcap:vcap mkdir -p $BUNDLER_DIR
chpst -u vcap:vcap chmod -R go-w $BUNDLER_DIR

SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")"
source "${SCRIPT_DIR}/ruby_version.sh"

source /var/vcap/packages/capi_utils/syslog_utils.sh
tee_output_to_sys_log "cloud_controller_clock.$(basename "$0")"

Expand Down
2 changes: 1 addition & 1 deletion jobs/cloud_controller_ng/spec
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ packages:
- libpq
- jemalloc
- mariadb_connector_c
- ruby-3.2
- ruby-3.3

provides:
- name: cloud_controller
Expand Down
5 changes: 1 addition & 4 deletions jobs/cloud_controller_ng/templates/pre-start.sh.erb
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,13 @@ export LANG="en_US.UTF-8"
source /var/vcap/packages/capi_utils/syslog_utils.sh
tee_output_to_sys_log "cloud_controller_ng.$(basename "$0")"

SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")"
CC_JOB_DIR="/var/vcap/jobs/cloud_controller_ng"
CC_PACKAGE_DIR="/var/vcap/packages/cloud_controller_ng"
CONFIG_DIR="${CC_JOB_DIR}/config"

export CLOUD_CONTROLLER_NG_CONFIG="${CONFIG_DIR}/cloud_controller_ng.yml"
export BUNDLE_GEMFILE="${CC_PACKAGE_DIR}/cloud_controller_ng/Gemfile"

source ${CC_JOB_DIR}/bin/setup_local_blobstore.sh

SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")"
source "${SCRIPT_DIR}/ruby_version.sh"

function setup_nginx_directories {
Expand Down
2 changes: 1 addition & 1 deletion jobs/cloud_controller_ng/templates/shutdown_drain.rb.erb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/var/vcap/packages/ruby-3.2/bin/ruby --disable-all
#!/var/vcap/packages/ruby-3.3/bin/ruby --disable-all

$LOAD_PATH.unshift('/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/app')
$LOAD_PATH.unshift('/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/lib')
Expand Down
2 changes: 1 addition & 1 deletion jobs/cloud_controller_worker/spec
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ packages:
- libpq
- jemalloc
- mariadb_connector_c
- ruby-3.2
- ruby-3.3

consumes:
- name: database
Expand Down
3 changes: 3 additions & 0 deletions jobs/cloud_controller_worker/templates/pre-start.sh.erb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ tee_output_to_sys_log "cloud_controller_worker.$(basename "$0")"

source /var/vcap/jobs/cloud_controller_worker/bin/setup_local_blobstore.sh


SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")"
source "${SCRIPT_DIR}/ruby_version.sh"


function setup_directories {
setup_local_blobstore
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/var/vcap/packages/ruby-3.2/bin/ruby --disable-all
#!/var/vcap/packages/ruby-3.3/bin/ruby --disable-all

$LOAD_PATH.unshift('/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/app')
$LOAD_PATH.unshift('/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/lib')
Expand Down
2 changes: 1 addition & 1 deletion jobs/rotate_cc_database_key/spec
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ packages:
- libpq
- jemalloc
- mariadb_connector_c
- ruby-3.2
- ruby-3.3

consumes:
- name: cloud_controller_db
Expand Down
6 changes: 5 additions & 1 deletion packages/cloud_controller_ng/packaging
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
set -e -x

# shellcheck disable=1090
source "${BOSH_PACKAGES_DIR:-/var/vcap/packages}/ruby-3.2/bosh/compile.env"
source "${BOSH_PACKAGES_DIR:-/var/vcap/packages}/ruby-3.3/bosh/compile.env"
cp -a * ${BOSH_INSTALL_TARGET}
cd ${BOSH_INSTALL_TARGET}/cloud_controller_ng

mariadb_dir=/var/vcap/packages/mariadb_connector_c
libpq_dir=/var/vcap/packages/libpq
export PATH=$libpq_dir/bin:$PATH

BUNDLER_VERSION=$(grep "BUNDLED WITH" Gemfile.lock -A 1 | grep -v "BUNDLED" | awk '{print $1}')

gem install --local vendor/cache/bundler-${BUNDLER_VERSION}.gem

bundle config build.pg --with-pg-lib=$libpq_dir/lib --with-pg-include=$libpq_dir/include
bundle config build.mysql2 --with-mysql-config=$mariadb_dir/bin/mariadb_config-wrapper.sh
bosh_bundle_local --deployment
Expand Down
19 changes: 19 additions & 0 deletions packages/cloud_controller_ng/pre_packaging
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,25 @@ for i in {1..3}; do
exit_code="$?"
set -e

BUNDLER_VERSION=$(grep "BUNDLED WITH" Gemfile.lock -A 1 | grep -v "BUNDLED" | awk '{print $1}')
if [ -z "$BUNDLER_VERSION" ]; then
echo "ERROR: Failed to find BUNDLER_VERSION in Gemfile.lock"
exit 1
fi

# Fetch and vendor the right bundler ourselves, as bundler won't vendor itself
gem fetch bundler --version=$BUNDLER_VERSION
if [ "${exit_code}" != "0" ]; then
echo "ERROR: Failed to fetch bundler version $BUNDLER_VERSION"
exit 1
fi

mv bundler-${BUNDLER_VERSION}.gem vendor/cache/
if [ "${exit_code}" != "0" ]; then
echo "ERROR: Failed to move bundler-${BUNDLER_VERSION}.gem to vendor/cache/bundler-${BUNDLER_VERSION}.gem"
exit 1
fi

if [ "${exit_code}" == "0" ]; then
break
fi
Expand Down
2 changes: 1 addition & 1 deletion packages/cloud_controller_ng/spec
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: cloud_controller_ng
dependencies:
- libpq
- mariadb_connector_c
- ruby-3.2
- ruby-3.3

files:
- cloud_controller_ng/{.ruby-version,Rakefile,Gemfile,Gemfile.lock}
Expand Down
2 changes: 1 addition & 1 deletion packages/nginx_newrelic_plugin/packaging
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
set -ex
# shellcheck disable=1090

source "${BOSH_PACKAGES_DIR:-/var/vcap/packages}/ruby-3.2/bosh/compile.env"
source "${BOSH_PACKAGES_DIR:-/var/vcap/packages}/ruby-3.3/bosh/compile.env"

echo "Installing nginx newrelic plugin"

Expand Down
2 changes: 1 addition & 1 deletion packages/nginx_newrelic_plugin/spec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: nginx_newrelic_plugin
dependencies:
- ruby-3.2
- ruby-3.3
files:
- nginx/newrelic_nginx_agent-1.2.1.tar.gz
2 changes: 0 additions & 2 deletions packages/ruby-3.2/spec.lock

This file was deleted.

2 changes: 2 additions & 0 deletions packages/ruby-3.3/spec.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
name: ruby-3.3
fingerprint: 0c883b679650908d2761a272e325b27a2d8a541676f2251077ecd89b8db968a7
16 changes: 15 additions & 1 deletion shared_job_templates/ruby_version.sh.erb
Original file line number Diff line number Diff line change
@@ -1,2 +1,16 @@
# shellcheck disable=1090
source "${BOSH_PACKAGES_DIR:-/var/vcap/packages}/ruby-3.2/bosh/runtime.env"
source "${BOSH_PACKAGES_DIR:-/var/vcap/packages}/ruby-3.3/bosh/runtime.env"

CC_PACKAGE_DIR="${BOSH_PACKAGES_DIR:-/var/vcap/packages}/cloud_controller_ng"
BUNDLER_VERSION=$(grep "BUNDLED WITH" ${CC_PACKAGE_DIR}/cloud_controller_ng/Gemfile.lock -A 1 | grep -v "BUNDLED" | awk '{print $1}')

# Install the vendored bundler if it's not already installed
# Use a lock file to avoid concurrent installations
BUNDLER_LOCK_FILE="/var/vcap/sys/run/bundler_install.lock"
mkdir -p "$(dirname $BUNDLER_LOCK_FILE)"
(
flock -x 200
if ! gem list -i bundler -v $BUNDLER_VERSION > /dev/null 2>&1; then
gem install --local ${CC_PACKAGE_DIR}/cloud_controller_ng/vendor/cache/bundler-${BUNDLER_VERSION}.gem
fi
) 200>$BUNDLER_LOCK_FILE