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

build(deps-dev): bump json_schemer from 2.1.1 to 2.2.1 in /Library/Homebrew #16893

Merged

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 14, 2024

Bumps json_schemer from 2.1.1 to 2.2.1.

Changelog

Sourced from json_schemer's changelog.

Changelog

2.2.0 - 2024-03-02

Bug Fixes

Features

Commits
  • 743f1fe 2.2.1
  • 002633b Merge pull request #180 from davishmcclurg/compare-instance-locations-by-iden...
  • 8be18df Skip Ruby head on CI (ubuntu and macos)
  • b92e1c2 Compare property default instance locations by id
  • 9321f1a Remove newline under frozen string comment
  • 220dc4f Fix workflow badge
  • 6ff7f26 Revert "Upgrade minitest"
  • 2d6dc3a Upgrade minitest
  • f0cc47e 2.2.0 release date
  • 67c52f0 Merge pull request #176 from davishmcclurg/2.2.0
  • Additional commits viewable in compare view

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot bot added dependencies Bumping Gemfile dependencies ruby Pull requests that update Ruby code labels Mar 14, 2024
Copy link

github-actions bot commented Apr 5, 2024

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@github-actions github-actions bot added the stale No recent activity label Apr 5, 2024
@p-linnane
Copy link
Member

@dependabot recreate

@dependabot dependabot bot force-pushed the dependabot/bundler/Library/Homebrew/json_schemer-2.2.1 branch from 36d8a34 to b444dee Compare April 5, 2024 01:25
@p-linnane p-linnane requested a review from Bo98 April 5, 2024 02:29
@Bo98
Copy link
Member

Bo98 commented Apr 5, 2024

Thinking about this more, this does remind me of a bootsnap issue someone emailed me about recently that I've not managed to find the time to investigate yet. It's possible fixing that might fix this - I'll try find a free day to poke at that soon.

@p-linnane
Copy link
Member

@dependabot recreate

@p-linnane p-linnane removed the stale No recent activity label May 9, 2024
@p-linnane
Copy link
Member

@Bo98 Have you had time to poke at this?

@dependabot dependabot bot force-pushed the dependabot/bundler/Library/Homebrew/json_schemer-2.2.1 branch from a1cc3c5 to 0666fc3 Compare May 9, 2024 17:57
@MikeMcQuaid
Copy link
Member

@dependabot recreate

@dependabot dependabot bot force-pushed the dependabot/bundler/Library/Homebrew/json_schemer-2.2.1 branch from b8bc33e to 86a9fcf Compare May 21, 2024 09:03
@MikeMcQuaid
Copy link
Member

@Bo98 Note: this is exactly the same issue I was hitting when trying to add base64 to the Gemfile in #17315.

@MikeMcQuaid MikeMcQuaid force-pushed the dependabot/bundler/Library/Homebrew/json_schemer-2.2.1 branch 2 times, most recently from 6718d62 to 347f139 Compare May 21, 2024 10:19
@MikeMcQuaid
Copy link
Member

@dependabot recreate

@dependabot dependabot bot force-pushed the dependabot/bundler/Library/Homebrew/json_schemer-2.2.1 branch from 2055026 to e8a98fa Compare May 21, 2024 10:26
@Bo98
Copy link
Member

Bo98 commented May 21, 2024

Yes, am aware. This behaviour is expected behaviour from Bootsnap as it expects gems installs to be stable. The only workaround here is manually removing the base64 install in vendor-gems, or asking upstream to drop the dependency which I will get to today.

@MikeMcQuaid
Copy link
Member

This behaviour is expected behaviour from Bootsnap as it expects gems installs to be stable.

What does this mean?

The only workaround here is manually removing the base64 install in vendor-gems, or asking upstream to drop the dependency which I will get to today.

I think asking upstream to drop the dependency just kicks the can down the road here. It's going to be an issue with Ruby 3.4 or if we want to add base64 to the Gemfile earlier.

Not using bootsnap by default at least in our CI seems like a good idea.

MikeMcQuaid added a commit that referenced this pull request May 21, 2024
These will be needed with Ruby 3.4 and base64 is blocking #16893.

Relatedly:
- don't use `HOMEBREW_BOOTSNAP` by default in all CI jobs. We can add it
  back one-by-one where necessary but as-is it's breaking too much with
  `base64`
- ensure that `csv` gem is not committed and optionally installed on
  demand by `brew contributions --csv`
- no longer hide warnings about base64/csv requires
- don't run `bundle clean` because it can remove gems we need
MikeMcQuaid added a commit that referenced this pull request May 21, 2024
These will be needed with Ruby 3.4 and base64 is blocking #16893.

Relatedly:
- don't use `HOMEBREW_BOOTSNAP` by default in all CI jobs. We can add it
  back one-by-one where necessary but as-is it's breaking too much with
  `base64`
- ensure that `csv` gem is not committed and optionally installed on
  demand by `brew contributions --csv`
- no longer hide warnings about base64/csv requires
@MikeMcQuaid
Copy link
Member

Have opened #17343 and #17342 to start working around this stuff and get this PR merged.

@Bo98
Copy link
Member

Bo98 commented May 21, 2024

I think asking upstream to drop the dependency just kicks the can down the road here.

Not really when it's something very widely agreed on in the Ruby community: rubocop/rubocop@b2b29da, rack/rack@696ed9e, lostisland/faraday@9487833, octokit/octokit.rb@a787bf4

Not using bootsnap by default at least in our CI seems like a good idea.

CI is indicative that this would break locally too so not sure this is really a good idea.

What does this mean?

Bootsnap, for performance reasons, has a list of things that are deemed "stable" (i.e. don't randomly uninstall without the likes of Gemfile.lock changing): https://github.com/Shopify/bootsnap/blob/f627992c526423943115845bd5bfdfc01bd2ae3c/lib/bootsnap/load_path_cache/path.rb#L123-L133

@MikeMcQuaid
Copy link
Member

Not really when it's something very widely agreed on in the Ruby community: rubocop/rubocop@b2b29da, rack/rack@696ed9e, lostisland/faraday@9487833, octokit/octokit.rb@a787bf4

Note that Octokit still adds it to the Gemfile.

I still consider it can-kicking to say "if a gem update requires e.g. base64 (or one of the other similar gems e.g. css) we cannot update to it until we convince upstream to drop the dependency".

Bootsnap, for performance reasons, has a list of things that are deemed "stable" (i.e. don't randomly uninstall without the likes of Gemfile.lock changing): Shopify/bootsnap@f627992/lib/bootsnap/load_path_cache/path.rb#L123-L133

Thanks for explaining.

To me: this is a pretty clear bug in Bundler that I'll report upstream. It cannot/should not be that bundle install and bundle install --standalone will install different gems and bundle install will unconditionally remove installed gems specified in the Gemfile even when BUNDLE_CLEAN=false.

@Bo98
Copy link
Member

Bo98 commented May 22, 2024

Note that Octokit still adds it to the Gemfile.

Yes but that's internal to them and not exposed to dependents.

To be clear: I expect us to vendor base64, for at the very least formula compatibility (and the URL-safe functions we use for JWS which are slightly more complex anyway). It's just a question of whether that will be Ruby 3.4 (which will have no issues as the default gem will be gone) or sooner when issues are addressed.

To me: this is a pretty clear bug in Bundler that I'll report upstream.

Yes, there's a PR open that I reckon will solve this: rubygems/rubygems#7673

@MikeMcQuaid
Copy link
Member

Yes, there's a PR open that I reckon will solve this: rubygems/rubygems#7673

@Bo98 Great, seems like the best option here, good find.

Here's a thought: what if we pushed the bundle clean side to brew cleanup and brew vendor-gems instead?

@Bo98
Copy link
Member

Bo98 commented May 22, 2024

Having bundle clean in vendor-gems and keeping the existing one in utils/gems.rb will likely be sufficient, given the issues is caused by --standalone and the only occurrence of that is in vendor-gems. I can give it a try if you'd like

@MikeMcQuaid
Copy link
Member

Having bundle clean in vendor-gems and keeping the existing one in utils/gems.rb will likely be sufficient, given the issues is caused by --standalone and the only occurrence of that is in vendor-gems. I can give it a try if you'd like

Yeh, good idea. May also want/need to edit https://github.com/Homebrew/brew/blob/master/Library/Homebrew/.bundle/config#L3

(which it took me far too long to find)

@Bo98 Bo98 changed the base branch from master to vendor-gems-clean May 23, 2024 13:14
@Bo98
Copy link
Member

Bo98 commented May 23, 2024

@dependabot recreate

@dependabot dependabot bot changed the base branch from vendor-gems-clean to master May 23, 2024 13:15
@dependabot dependabot bot force-pushed the dependabot/bundler/Library/Homebrew/json_schemer-2.2.1 branch from 1003a2b to f964cf8 Compare May 23, 2024 13:15
@Bo98 Bo98 disabled auto-merge May 23, 2024 13:17
@Bo98 Bo98 changed the base branch from master to vendor-gems-clean May 23, 2024 13:18
…mebrew

Dependabot couldn't find the original pull request head commit, 86a9fcf.
@Bo98 Bo98 force-pushed the dependabot/bundler/Library/Homebrew/json_schemer-2.2.1 branch from 2ed8318 to aef6e2f Compare May 23, 2024 13:22
Base automatically changed from vendor-gems-clean to master May 23, 2024 13:51
@MikeMcQuaid
Copy link
Member

Great work, thanks @Bo98!

@MikeMcQuaid MikeMcQuaid merged commit 93eb5ea into master May 23, 2024
24 checks passed
@MikeMcQuaid MikeMcQuaid deleted the dependabot/bundler/Library/Homebrew/json_schemer-2.2.1 branch May 23, 2024 13:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Bumping Gemfile dependencies ruby Pull requests that update Ruby code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants