Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Install Ruby with ruby-build in Chef #49864

Merged
merged 9 commits into from
Mar 2, 2023
Merged

Conversation

Hamms
Copy link
Contributor

@Hamms Hamms commented Jan 18, 2023

Specifically, stop using the Brightbox PPA installation method in preparation for an eventual update to Ruby 3.0, which is not provided by those PPAs. Also, break up the existing monolithic cdo-ruby::default recipe into several smaller recipes referenced from the default recipe.

I chose ruby-build for a couple of reasons. It's a component of rbenv (which is the method we recommend developers use, and which we use for our CI builds) provided as a standalone tool. Because our frontend servers don't need to manage multiple versions of Ruby at once, they don't need the full functionality provided by rbenv, but by using a piece of it we make all our environments a little bit more similar to one another. It is also one of the installation methods recommended by official ruby docs.

Links

Testing story

  • Tested on an adhoc that the new implementation can cleanly install ruby on a new server
  • Tested on an adhoc that the new implementation can be successfully applied to a server that already has ruby installed via apt

Deployment strategy

We'll want to carefully monitor our existing persistent managed servers as this change gets applied to ensure that it does so successfully; although with an adhoc it's possible to test the basic principle of this change being applied to an existing server, in reality our existing servers have had enough one-off changes applied to them over the years that there's always the change for some inconsistency or incompatibility.

PR Checklist:

  • Tests provide adequate coverage
  • Privacy and Security impacts have been assessed
  • Code is well-commented
  • New features are translatable or updates will not break translations
  • Relevant documentation has been added or updated
  • User impact is well-understood and desirable
  • Pull Request is labeled appropriately
  • Follow-up work items (including potential tech debt) are tracked and linked

@Hamms Hamms added the Ruby Update Everything related to work to update the version of Ruby our codebase runs on label Jan 18, 2023
@Hamms Hamms marked this pull request as ready for review February 2, 2023 19:39
@Hamms Hamms requested a review from a team February 2, 2023 19:40
Copy link
Contributor

@cat5inthecradle cat5inthecradle left a comment

Choose a reason for hiding this comment

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

Just based on some recent issues, I want to call out that we need to make sure AMI Builider is behaving properly after the change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Ruby Update Everything related to work to update the version of Ruby our codebase runs on
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants