Allows Rails 8, updates sqlite in Gemfile to match what CI runs#6091
Allows Rails 8, updates sqlite in Gemfile to match what CI runs#6091kennyadsl merged 1 commit intosolidusio:mainfrom
Conversation
|
@tvdeyen I've got all the tests passing locally, on all 3 databases. Seems like test flake on that one circle run, but I don't have perms to rerun it. |
|
@kennyadsl Updated with your suggestion. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #6091 +/- ##
==========================================
- Coverage 92.42% 88.70% -3.73%
==========================================
Files 389 829 +440
Lines 8005 17992 +9987
==========================================
+ Hits 7399 15959 +8560
- Misses 606 2033 +1427 ☔ View full report in Codecov by Sentry. |
tvdeyen
left a comment
There was a problem hiding this comment.
Thanks. Very much appreciated. Would you mind to rebase with main (and not merge) and squash the fixup into the introducing commit?
|
@rjacoby Rubocop needs your attention as well 🙏🏻 |
|
OMG, this is happening much sooner than expected. Thank you so much guys. |
Only send content to tags that support it per Rails 8 deprecations. See: https://github.com/rails/rails/blob/8-0-stable/actionview/CHANGELOG.md#rails-800rc1-october-19-2024 Handle Rails 8 syntax additions to the error text.
|
@tvdeyen Rebased, but now the project's codecov isn't happy... |
|
@tvdeyen @kushp @kennyadsl Is there anything else keeping it from merging? The codecov seems not related...? |
A small improvement on changes from solidusio#6091 where calling `tag.method(@tag).parameters.any? { |_type, name| name == :content }` would always return false when @tag == :select, since `tag.select` method's signature has only `*` (:rest) as its parameter, thus not passing any `<option>`s for select tag. Instead, use explicit void elements list to understand whether given element accepts `content`. Somehow the problem is not being flagged by CI builds, but admin specs fail locally.
A small improvement on changes from solidusio#6091 where in Rails 7 calling `tag.method(@tag).parameters.any? { |_type, name| name == :content }` would always return false when @tag == :select, since `tag.select` method's signature has only `*` (:rest) as its parameter, thus not passing any `<option>`s for select tag. Somehow the problem was not being flagged by CI builds, but admin specs failed locally. Instead, use explicit void elements list to understand whether given element is void, therefore does not accept `content`.
Summary
Bumps
Gemfileandsolidus_core.gemspecup to support Rails 8.0. Makes minor changes to update code and tests to deal with Rails 8 changes.This required bumping
sqlite3above 2.0 to get specs to pass; note that the circleci config already required this and was not testing Rails 7.0 for sqlite likely due to this compatibility mismatch.Checklist
Check out our PR guidelines for more details.
The following are mandatory for all PRs:
The following are not always needed: