Repository navigation
Modernize CI and add Ruby 4 and Grape 4 coverage - #182
Merged
Merged
Conversation
Danger ReportNo issues found. |
Retain existing compatibility combinations while adding current ORM/database versions, native service containers, dependency caching, and maintained browser setup. Update pagination test query decoding for Ruby 4. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Modernize CI before the next release without dropping existing compatibility coverage.
GRAPE_VERSIONdevelopment dependency selector alongside the existing ORM selectors.xvfb-run.CGI.parsein pagination test helpers withURI.decode_www_formfor Ruby 4 compatibility and document local adapter/version selection inCONTRIBUTING.md.JSON_VERSIONdevelopment/test selector: affected legacy jobs use JSON 2 because their Active Support versions pass the removedquirks_modeoption; compatible jobs explicitly use JSON 3. Include the selection in job names and cache keys. Neither the Gemfile's default nor the gemspec imposes a JSON upper bound.AGENTS.mdwith repository structure, safe test database setup, adapter/browser checks, compatibility expectations, and contribution conventions.Validation
Workflow syntax passes
actionlint, and a comparison against upstream confirms every unique legacy matrix combination remains.Locally on Ruby 4.0.9 and Grape 4.0.1: RuboCop passes, Mongoid 9.1.1 with JSON 3.1.0 passes all 74 examples (two adapter-specific pending), and Active Record 8.1.4 with JSON 3.1.0 passes all 74 examples (one version-specific pending). Active Record 8.0.5.1 with JSON 2.21.2 also passes all 74 examples. Local PostgreSQL is 14; PostgreSQL 18 and the complete compatibility matrix are exercised by the hosted workflows. All 22 matrix entries explicitly select JSON 2 or 3, with 14 legacy JSON 2 jobs and eight compatible JSON 3 jobs.
This does not release the gem or change the existing upstream Grape error-handler fix.
Authored by Copilot (AI), on behalf of @dblock.