rails
rails copied to clipboard
Allow upgrade to rack 3.0
Should we add Rack 3 to the text matrix? It's not released yet but will be soon, in the mean time you can get it from git: "https://github.com/rack/rack"
.
It's a bit complicated to add another gem version to the "matrix", we test multiple Ruby versions, but not multiple dependency versions.
I'd encourage you to first open a PR that points to rack 3 to see if we can spot some compatibility problems, and if so we'll address them.
Note to self: CI is failing because bundle lock
has to be run. (I'll probably do it tomorrow)
I'd encourage you to first open a PR that points to rack 3 to see if we can spot some compatibility problems, and if so we'll address them.
Do you mind explaining how to do this, because I tried to find a BK pipeline config but couldn't find it. I could not see how to achieve what you are describing, unless you mean add gem "rack", git: ...
to the top level gemfile?
cc @tenderlove @jeremyevans
unless you mean add
gem "rack", git: ...
to the top level gemfile?
Yeah I think that's what he meant
It's a bit complicated to add another gem version to the "matrix", we test multiple Ruby versions, but not multiple dependency versions.
While complicated, I do think if the plan is to support both versions in the next release we probably want both tested. Maybe running an isolated
style suite against each (only on Ruby 3.1) would be sufficient?
https://github.com/rails/buildkite-config Buildkite config is here
I have created a branch/PR to resolve the issue with sprockets preventing rack 3 at https://github.com/rails/sprockets/pull/758 - but there appears to be some similar issues with some other test dependencies.
- Sidekiq has rack locked at (https://github.com/mperham/sidekiq/blob/1096df58a4f428d12b4b002f8f845f604073fdb1/sidekiq.gemspec#L27). Sidekiq also has a test dependency on Rails which means it can't start testing against Rack 3 until Rails fully supports it.
- Blade has a dependency on Thin - which is locked at https://github.com/macournoyer/thin/blob/10607a2663fc282d67f98a930f954dc407fd056d/thin.gemspec#L25. I think that rails-ujs is no longer used by default so maybe we should remove it from ActionView and restore the https://github.com/rails/rails-ujs repo for it going forward - which would remove the only use case of Blade from Rails.
- Blade has a dependency on Thin - which is locked at https://github.com/macournoyer/thin/blob/10607a2663fc282d67f98a930f954dc407fd056d/thin.gemspec#L25. I think that rails-ujs is no longer used by default so maybe we should remove it from ActionView and restore the https://github.com/rails/rails-ujs repo for it going forward - which would remove the only use case of Blade from Rails.
An alternative to moving rails-ujs out of the repo would be #45546, which could be followed up by removing Blade
Please see https://github.com/rails/rails/pull/46594 for an updated attempt.