chore(deps): update Rails dependencies - #17
Open
dex-the-ai wants to merge 1 commit into
Open
Conversation
Update the Rails dependency constraint to 8.1.3.1 and pin json below 3.0 for current rswag/json-schema compatibility. Adjust Swagger request specs and generated docs so the full request-suite validation remains stable on Rails 8.
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
~> 7.1.3,>= 7.1.3.2to~> 8.1.3,>= 8.1.3.1.json < 3.0compatibility pin because the currentrswag/json-schemavalidation path still uses the json 2.x parse API.202 Accepted, allow nullable airline callsigns fromtravel-sample, and return400 Bad Requestfor invalid airport/route create payloads.Dependency updates
rails~> 7.1.3,>= 7.1.3.2~> 8.1.3,>= 8.1.3.1json< 3.0rswag/json-schemastack supports json 3.x parse keywords/arity.Validation
Commands run locally with Ruby 3.4.1 via the official Docker image, using a local Couchbase Server container with
travel-sampleloaded and redactedDB_CONN_STR/DB_USERNAME/DB_PASSWORDvalues mapped to the app's expected env vars:Results:
bundle exec rspec spec/requests: 64 examples, 0 failures.bundle exec rspec spec/requests/api/v1: 27 examples, 0 failures.bundle exec rake rswag:specs:swaggerize: generatedswagger/v1/swagger.yaml, 64 examples, 0 failures in dry-run documentation generation.connectedbefore the request-suite run.Evidence
Reviewer media captured against the running Rails app at
/api-docsplus an API smoke request to/api/v1/airports/airport_1262.Swagger UI screenshot
API smoke screenshot
Walkthrough video
Open the UI/API walkthrough
Local trace copies:
/home/ubuntu/.hermes/kanban/boards/couchbase-examples/workspaces/t_181a35ff/repo/.hermes/evidence/screenshots/swagger-api-docs.png/home/ubuntu/.hermes/kanban/boards/couchbase-examples/workspaces/t_181a35ff/repo/.hermes/evidence/screenshots/api-smoke-airport.png/home/ubuntu/.hermes/kanban/boards/couchbase-examples/workspaces/t_181a35ff/repo/.hermes/evidence/video/ui-walkthrough.webmExisting dependency PR context
actions/checkoutand is unrelated to the Bundler dependency update here.Risk notes
json < 3.0is intentionally constraint-limited to preserve currentrswag/json-schemacompatibility. It can be revisited once that stack supports json 3.x.Gemfile.lockis ignored by this repository and was not committed, preserving the repository's existing lockfile convention.Rollback
Revert this PR to restore the previous Rails constraint, remove the json compatibility pin, and return the Swagger/API compatibility changes to their prior behavior.
Hermes task
Kanban task:
t_181a35ff