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

Further split up Gemfile into groups #15953

Merged
merged 1 commit into from
Sep 27, 2023
Merged

Conversation

Bo98
Copy link
Member

@Bo98 Bo98 commented Sep 4, 2023

A full brew install-bundler-gems is somewhat slow. This PR splits up the gem groups further to allow faster runs in CI etc, as well as allow a base brew install-bundler-gems --groups= only install what we already vendor (roughly). This could be used in future PRs to bootstrap a new Ruby.

Draft because this requires #15952.

@Bo98 Bo98 marked this pull request as draft September 4, 2023 21:05
.github/workflows/tests.yml Show resolved Hide resolved
Library/Homebrew/Gemfile Show resolved Hide resolved
Library/Homebrew/Gemfile Show resolved Hide resolved
Library/Homebrew/dev-cmd/tap-new.rb Show resolved Hide resolved
@MikeMcQuaid
Copy link
Member

A full brew install-bundler-gems is somewhat slow. This PR splits up the gem groups further to allow faster runs in CI etc, as well as allow a base brew install-bundler-gems --groups= only install what we already vendor (roughly). This could be used in future PRs to bootstrap a new Ruby.

Can we see some benchmarks of the speed differences here? This seems to add quite a lot of complexity so want to see the differences here.

@Bo98
Copy link
Member Author

Bo98 commented Sep 4, 2023

A full brew install-bundler-gems is somewhat slow. This PR splits up the gem groups further to allow faster runs in CI etc, as well as allow a base brew install-bundler-gems --groups= only install what we already vendor (roughly). This could be used in future PRs to bootstrap a new Ruby.

Can we see some benchmarks of the speed differences here? This seems to add quite a lot of complexity so want to see the differences here.

Will test when I test #15955, but as is with no changes currently takes 1 minute in our CI and also requires a fully functional compiler with Ruby development headers installed (included with the SDK on macOS at least). Changes here should hopefully reduce that down to a few seconds with zero native builds required.

@MikeMcQuaid
Copy link
Member

Changes here should hopefully reduce that down to a few seconds with zero native builds required.

Cool, if it works: great, decent speedup.

No longer native builds required because they are cached or something else?

@Bo98 Bo98 marked this pull request as ready for review September 27, 2023 17:09
@MikeMcQuaid MikeMcQuaid merged commit 4ec5f04 into Homebrew:master Sep 27, 2023
32 checks passed
@MikeMcQuaid
Copy link
Member

Thanks again @Bo98!

@Bo98 Bo98 deleted the more-groups branch September 27, 2023 18:22
@buildpulse
Copy link

buildpulse bot commented Sep 27, 2023

Known disruptive tests have failed for this pull request.

Commit SHA: 4ec5f04
Build URL: https://github.com/Homebrew/brew/actions/runs/6329907841/attempts/1

Suite Name Test Name Details
rspec SystemCommand with both STDOUT and STDERR output from upstream with default options echoes only STDERR

@github-actions github-actions bot added the outdated PR was locked due to age label Oct 28, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 28, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated PR was locked due to age
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants