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

Ruby 3.3 (and dependents) #158215

Merged
merged 52 commits into from
Jan 9, 2024
Merged

Ruby 3.3 (and dependents) #158215

merged 52 commits into from
Jan 9, 2024

Conversation

faisal
Copy link
Contributor

@faisal faisal commented Dec 25, 2023

Update the Ruby formula to build the just-released Ruby 3.3.

  • Updated Ruby to 3.3, including updating RubyGems to 3.5.3
  • Removed bison and readline dependencies since Ruby no longer uses them
  • Bumped revision number for formulae that depends_on "ruby" and require an updated libruby version.
  • Renamed [email protected] Alias (that pointed to ruby formula) to [email protected], and create new [email protected] formula for legacy support
  • Have you followed the guidelines for contributing?
  • Have you ensured that your commits follow the commit style guide?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>)? If this is a new formula, does it pass brew audit --new <formula>?

@github-actions github-actions bot added the automerge-skip `brew pr-automerge` will skip this pull request label Dec 25, 2023
@SMillerDev
Copy link
Member

Bumped revision number for anything that depends_on "ruby", so as to trigger rebuild

Can you revert this? Not everything has to be rebuilt, only things that link to ruby libraries might need a rebuilt.

@github-actions github-actions bot added the autosquash Automatically squash pull request commits according to Homebrew style. label Dec 25, 2023
@faisal
Copy link
Contributor Author

faisal commented Dec 25, 2023

Bumped revision number for anything that depends_on "ruby", so as to trigger rebuild

Can you revert this? Not everything has to be rebuilt, only things that link to ruby libraries might need a rebuilt.

My latest push is just Ruby and its Aliases, backing out (squashed) the bumps to all the other formula. Unfortunately it looks like in doing so I may have broken a fix @crunchtime-ali added for k9s right before I pushed the squashed commit.

@github-actions github-actions bot removed the autosquash Automatically squash pull request commits according to Homebrew style. label Dec 25, 2023
@faisal
Copy link
Contributor Author

faisal commented Dec 25, 2023

My latest push is just Ruby and its Aliases, backing out (squashed) the bumps to all the other formula. Unfortunately it looks like in doing so I may have broken a fix @crunchtime-ali added for k9s right before I pushed the squashed commit.

This k9s break looks like merge noise, which came out of the PR when I rebased to clean it up and pick up 981c7ec.

@faisal faisal force-pushed the ruby_3_3 branch 3 times, most recently from 265093b to 277e507 Compare December 25, 2023 20:30
@SMillerDev
Copy link
Member

Why bump the revisions again? I really doubt that would be needed for most of the formulae in the list

@faisal
Copy link
Contributor Author

faisal commented Dec 25, 2023

Why bump the revisions again? I really doubt that would be needed for most of the formulae in the list

Most of the formulae that depends_on "ruby" actively depend on the specific version of Ruby that was extant at build time, which shows up as a large number of linkage failures in CI. The revision bumps update that version expectation to Ruby 3.3.

I'd initially done a blanket rebuild in the initial PR. The new bumps are more considered, and only for formulae that failed to build in CI because of the version mismatch:

@faisal
Copy link
Contributor Author

faisal commented Dec 25, 2023

Most of the formulae that depends_on "ruby" actively depend on the specific version of Ruby that was extant at build time, which shows up as a large number of linkage failures in CI. The revision bumps update that version expectation to Ruby 3.3.

We had a similar need in Ruby 3.2, and Ruby 3.1. I expect we also had them in prior major version bumps but I haven't tracked down all the PRs.

@faisal
Copy link
Contributor Author

faisal commented Dec 26, 2023

I'm somewhat at a loss on these remaining failing checks. For solargraph I could explicitly declare an xz dependency, but that's purely speculative since it should work as-is.

@faisal
Copy link
Contributor Author

faisal commented Dec 26, 2023

  • wechat declares a list of Ruby versions to work with, so for that formula I added a line to add Ruby 3.3 to the list if the list doesn't yet include Ruby 3.3.

FWIW I also put up weechat/weechat#2055 to update Weechat's own build system to detect the new Ruby version. If they take it then this patch here should still work: we'll still need the rebuild, and the install version check replacement should noop.

@faisal
Copy link
Contributor Author

faisal commented Dec 26, 2023

I'm somewhat at a loss on these remaining failing checks. For solargraph I could explicitly declare an xz dependency, but that's purely speculative since it should work as-is.

Explicitly declaring the xz dependency got rid of that particular failure.

@faisal faisal force-pushed the ruby_3_3 branch 12 times, most recently from b798eff to da757e4 Compare December 28, 2023 15:27
@faisal
Copy link
Contributor Author

faisal commented Dec 28, 2023

It looks like the Intel tests are reliably timing out at around 1:30. Given that the remainder seems to be passing, would it make sense to land the PR as-is, and then fix any breakage we find afterwards? Or to remove the dependents from the PR, land the newRuby, and then follow up with PRs to fix dependents?

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Jan 9, 2024
@BrewTestBot BrewTestBot added this pull request to the merge queue Jan 9, 2024
Merged via the queue into Homebrew:master with commit d8ca630 Jan 9, 2024
12 checks passed
@MikeMcQuaid
Copy link
Member

Thanks again @faisal, great work here!

@faisal faisal deleted the ruby_3_3 branch January 23, 2024 15:30
@github-actions github-actions bot added the outdated PR was locked due to age label Feb 23, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
automerge-skip `brew pr-automerge` will skip this pull request CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. long build Set a long timeout for formula testing outdated PR was locked due to age
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants