Skip to content

Use ruby 4.0 package#2769

Merged
aramprice merged 4 commits into
mainfrom
use-ruby-4.0
Jul 13, 2026
Merged

Use ruby 4.0 package#2769
aramprice merged 4 commits into
mainfrom
use-ruby-4.0

Conversation

@aramprice

@aramprice aramprice commented Jul 13, 2026

Copy link
Copy Markdown
Member

@aramprice
aramprice requested review from a team, ay901246, benjaminguttmann-avtq and Copilot and removed request for a team July 13, 2026 18:26
@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

The change migrates Director, Health Monitor, and NATS packaging and jobs from Ruby 3.4 to Ruby 4.0. Gem specifications now require Ruby 3.4.0 or newer. Blobstore client unit tests update identifier fixtures and related command expectations, method calls, and error messages. The CI vendored-package check also tracks the Ruby 4.0 package.

Suggested reviewers: ay901246, benjaminguttmann-avtq, rkoster, ystros, attilaalmasi

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning Description is missing the required template sections and only mentions an integration spec link. Fill in the required sections: change summary, context, tests run, release-note text, breaking-change impact, tagging, and AI review feedback.
✅ Passed checks (4 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed Title matches the main change: switching the release to the Ruby 4.0 package.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch use-ruby-4.0

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the BOSH release packaging and related Ruby components to use the director-ruby-4.0 package, aligning compilation/runtime environments and adjusting Ruby compatibility metadata and specs.

Changes:

  • Switch package/job dependencies and packaging scripts from director-ruby-3.4 to director-ruby-4.0.
  • Update gemspec minimum Ruby requirement to >= 3.4.0.
  • Rename RSpec let(:object_id) to let(:entity_id) in blobstore client unit specs to avoid Object#object_id name collision.

Reviewed changes

Copilot reviewed 23 out of 23 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/bosh-nats-sync/bosh-nats-sync.gemspec Bump required Ruby version to >= 3.4.0.
src/bosh-monitor/bosh-monitor.gemspec Bump required Ruby version to >= 3.4.0.
src/bosh-director/bosh-director.gemspec Bump required Ruby version to >= 3.4.0.
src/bosh-common/bosh-common.gemspec Bump required Ruby version to >= 3.4.0.
src/bosh-director/spec/unit/bosh/director/blobstore/s3cli_blobstore_client_spec.rb Rename object_id test helper to entity_id.
src/bosh-director/spec/unit/bosh/director/blobstore/gcscli_blobstore_client_spec.rb Rename object_id test helper to entity_id.
src/bosh-director/spec/unit/bosh/director/blobstore/davcli_blobstore_client_spec.rb Rename object_id test helper to entity_id.
src/bosh-director/spec/unit/bosh/director/blobstore/azurestoragecli_blobstore_client_spec.rb Rename object_id test helper to entity_id.
packages/nats/spec Depend on director-ruby-4.0.
packages/nats/packaging Source Ruby 4.0 compile env for gem build/bundling.
packages/health_monitor/spec Depend on director-ruby-4.0.
packages/health_monitor/packaging Source Ruby 4.0 compile env for gem build/bundling.
packages/director/spec Depend on director-ruby-4.0.
packages/director/packaging Source Ruby 4.0 compile env for gem build/bundling.
jobs/nats/templates/bosh_nats_sync Source Ruby 4.0 runtime env for execution.
jobs/nats/spec Include director-ruby-4.0 as a job package dependency.
jobs/health_monitor/templates/health_monitor Source Ruby 4.0 runtime env for execution.
jobs/health_monitor/spec Include director-ruby-4.0 as a job package dependency.
jobs/director/templates/env.erb Source Ruby 4.0 runtime env and update GEM_HOME path to ruby/4.0.0.
jobs/director/spec Include director-ruby-4.0 as a job package dependency.
ci/pipeline.yml Update the CVE/package check list to director-ruby-4.0.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread jobs/nats/templates/bosh_nats_sync
Comment thread jobs/health_monitor/templates/health_monitor
coderabbitai[bot]
coderabbitai Bot previously requested changes Jul 13, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/nats/packaging`:
- Line 12: Update the BPM gem-home paths in jobs/nats/templates/bpm.yml and
jobs/health_monitor/templates/bpm.yml: at packages/nats/packaging lines 12-12,
use /var/vcap/packages/nats/gem_home/ruby/4.0.0; at jobs/health_monitor/spec
lines 16-16, use /var/vcap/packages/health_monitor/gem_home/ruby/4.0.0.

In
`@src/bosh-director/spec/unit/bosh/director/blobstore/azurestoragecli_blobstore_client_spec.rb`:
- Around line 114-116: Update the error examples under each describe '`#exists`?'
block to invoke exists?(entity_id) instead of create. Apply this change in
src/bosh-director/spec/unit/bosh/director/blobstore/azurestoragecli_blobstore_client_spec.rb
lines 114-116, davcli_blobstore_client_spec.rb lines 179-184,
gcscli_blobstore_client_spec.rb lines 113-117, and
s3cli_blobstore_client_spec.rb lines 196-198; no other behavior needs changing.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 680b9fdd-876c-412f-9332-22d9b47f530a

📥 Commits

Reviewing files that changed from the base of the PR and between 90a2c6f and 9c91845.

📒 Files selected for processing (23)
  • ci/pipeline.yml
  • jobs/director/spec
  • jobs/director/templates/env.erb
  • jobs/health_monitor/spec
  • jobs/health_monitor/templates/health_monitor
  • jobs/nats/spec
  • jobs/nats/templates/bosh_nats_sync
  • packages/director/packaging
  • packages/director/spec
  • packages/director/spec.yml
  • packages/health_monitor/packaging
  • packages/health_monitor/spec
  • packages/health_monitor/spec.yml
  • packages/nats/packaging
  • packages/nats/spec
  • src/bosh-common/bosh-common.gemspec
  • src/bosh-director/bosh-director.gemspec
  • src/bosh-director/spec/unit/bosh/director/blobstore/azurestoragecli_blobstore_client_spec.rb
  • src/bosh-director/spec/unit/bosh/director/blobstore/davcli_blobstore_client_spec.rb
  • src/bosh-director/spec/unit/bosh/director/blobstore/gcscli_blobstore_client_spec.rb
  • src/bosh-director/spec/unit/bosh/director/blobstore/s3cli_blobstore_client_spec.rb
  • src/bosh-monitor/bosh-monitor.gemspec
  • src/bosh-nats-sync/bosh-nats-sync.gemspec
💤 Files with no reviewable changes (2)
  • packages/director/spec.yml
  • packages/health_monitor/spec.yml

Comment thread packages/nats/packaging
Replaces the use of Ruby 3.4, the ruby-3.4 package will be removed
in a later commit.
@aramprice
aramprice force-pushed the use-ruby-4.0 branch 2 times, most recently from cc7efb9 to f1843ad Compare July 13, 2026 18:42
@aramprice
aramprice requested a review from Copilot July 13, 2026 18:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 25 out of 25 changed files in this pull request and generated 4 comments.

@github-project-automation github-project-automation Bot moved this from Waiting for Changes | Open for Contribution to Pending Merge | Prioritized in Foundational Infrastructure Working Group Jul 13, 2026
@aramprice
aramprice requested a review from Copilot July 13, 2026 19:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 25 out of 25 changed files in this pull request and generated no new comments.

@ragaskar ragaskar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me, if the 3.0.0 -> 3.4.0 min required ruby is as intended

@aramprice
aramprice merged commit 2090220 into main Jul 13, 2026
25 checks passed
@aramprice
aramprice deleted the use-ruby-4.0 branch July 13, 2026 23:01
@github-project-automation github-project-automation Bot moved this from Pending Merge | Prioritized to Done in Foundational Infrastructure Working Group Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

3 participants