Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3871 commits
Select commit Hold shift + click to select a range
749b670
Dry Partial with Query
rmosolgo Apr 29, 2025
c93c215
Add partial tracing
rmosolgo Apr 29, 2025
3e8c718
fix handle_or_reraise
rmosolgo Apr 29, 2025
60a1b8e
Improve error message, handle partials on list items
rmosolgo Apr 30, 2025
09df6e3
Test scalars on abstract types; support introspection fields; support…
rmosolgo May 1, 2025
c3e3919
Merge run_eager and run_partials_eager
rmosolgo May 1, 2025
1a5d650
merge run_partials into run_all
rmosolgo May 1, 2025
73e62d9
Resolve lazy resolved type if necessary
rmosolgo May 1, 2025
23fdcd8
Make list items run as items, make scalars return scalars directly
rmosolgo May 2, 2025
08ffdaf
enterprise-1.5.7
rmosolgo May 2, 2025
c238842
Use a full path in Partial responses, handle runtime errors in scalars
rmosolgo May 2, 2025
46c77ab
Add request. in headers example, fixes #5344
rmosolgo May 2, 2025
ba7b2c4
Try to fix website on pushing tags
rmosolgo May 2, 2025
e222f81
Add tests for lazy starting object and current_path usage
rmosolgo May 5, 2025
e456268
Move Async up to Ruby 3.2+ because it doesn't support 3.1 anymore
rmosolgo May 5, 2025
a65fe3c
Merge pull request #5183 from rmosolgo/partial-execution
rmosolgo May 5, 2025
aa6ac37
2.5.6
rmosolgo May 5, 2025
3542147
pro-1.29.6
rmosolgo May 5, 2025
16718aa
Disallow non-null after NameNode
JoviDeCroock May 11, 2025
fdcfd1f
Maybe fix the huge diff issue?
JoviDeCroock May 11, 2025
d63dacf
Add fragment definition test
JoviDeCroock May 11, 2025
d63c7c0
fix(perfetto_trace): pass bytes to InternedString
nsab1n May 12, 2025
cb06ea6
pro-1.29.7
rmosolgo May 12, 2025
1b27258
Rebuild parser
rmosolgo May 12, 2025
73163bb
Merge pull request #5347 from JoviDeCroock/disallow-non-null
rmosolgo May 12, 2025
bda8c6c
c-parser 1.1.3
rmosolgo May 12, 2025
cd7c858
update rails master snapshot
nsab1n May 13, 2025
9c78dd9
Merge pull request #5351 from nsab1n/fix-perfetto-str-encoding
rmosolgo May 14, 2025
26bb910
Add Partial#selected_operation_name
rmosolgo May 15, 2025
655a634
Merge pull request #5353 from rmosolgo/partial-operation-name
rmosolgo May 15, 2025
0b0b268
pro 1.29.8
rmosolgo May 15, 2025
7bbcf60
2.5.7
rmosolgo May 15, 2025
a549001
Use a faster check for loadable?
rmosolgo May 16, 2025
94c6284
Also require interfaces to be loadable
rmosolgo May 19, 2025
293ca15
Merge pull request #5355 from rmosolgo/master-fix-loads-regression
rmosolgo May 19, 2025
4646e43
pro-1.29.9
rmosolgo May 20, 2025
6a6161f
Scalar validation: remove infinity handling
swalkinshaw May 21, 2025
ba88e1b
Fix typo in RequiredValidator method name
swalkinshaw May 21, 2025
2644974
Merge pull request #5359 from rmosolgo/fix-required-validator-typo
rmosolgo May 21, 2025
814eab4
Support disabling timeout mid-way through
rmosolgo May 22, 2025
f2bd902
Merge pull request #5358 from rmosolgo/scalar-validation-remove-infin…
rmosolgo May 22, 2025
4dab451
Sketch out custom nodes
rmosolgo May 22, 2025
05c1aeb
Don't support partials on individual field nodes
rmosolgo May 22, 2025
fb9d48c
Merge pull request #5361 from rmosolgo/disable-timeout
rmosolgo May 27, 2025
185000e
Add tests for Partials on fragments
rmosolgo May 27, 2025
212eaf8
Properly validate SDL directive arguments
rmosolgo May 28, 2025
4dd3ec7
Support custom validators on directives
rmosolgo May 28, 2025
0e8e332
Merge pull request #5362 from rmosolgo/partial-node
rmosolgo May 28, 2025
a53bc8e
Merge pull request #5368 from rmosolgo/schema-directive-validations
rmosolgo May 28, 2025
e6cc76d
2.5.8
rmosolgo May 28, 2025
b6b00f3
Basic Ractor spec
rmosolgo Jun 2, 2025
4ecf14f
pro-1.29.10
rmosolgo Jun 3, 2025
318f97a
Improve errors and handling of interfaces from SDL
rmosolgo Jun 4, 2025
98f08bb
Fix typos in Integration Tests guide
duffuniverse Jun 4, 2025
a336ffc
Support .unsubscribe in AblyLink
1kuko3 Jun 4, 2025
37935f5
fix tests
1kuko3 Jun 4, 2025
890556b
Improve scalar result coercion execution errors
swalkinshaw Jun 4, 2025
89b16d7
Fix directive arguments with Ruby values
rmosolgo Jun 4, 2025
7c2af23
Merge pull request #5375 from rmosolgo/improve-scalar-coercion-result…
rmosolgo Jun 5, 2025
b5b5aa1
Merge pull request #5373 from duffuniverse/fix-typos-in-integration-t…
rmosolgo Jun 5, 2025
fe33846
Add test for AblyLink unsubscribe
rmosolgo Jun 6, 2025
5b26f34
Merge pull request #5377 from rmosolgo/directive-enum-value-validatio…
rmosolgo Jun 6, 2025
9af5502
Merge pull request #5374 from 1kuko3/feat/ably-link-unsubscribe
rmosolgo Jun 6, 2025
0b31daa
js-1.14.7
rmosolgo Jun 6, 2025
826625b
Fix loads-only Interface type check
rmosolgo Jun 6, 2025
ef89216
Update argument name
rmosolgo Jun 6, 2025
435b5b5
Merge pull request #5379 from rmosolgo/fix-interface-loads-type-check
rmosolgo Jun 6, 2025
0fff1e2
2.5.9
rmosolgo Jun 6, 2025
0c50ae8
Get a minimum query running
rmosolgo Jun 6, 2025
7620e86
Fix freeze compatibility
rmosolgo Jun 6, 2025
dd893ef
Move test, skip when no Ractor
rmosolgo Jun 9, 2025
71e2c11
Skip tests that won't work
rmosolgo Jun 10, 2025
239e505
Fix execution test, add parsing test
rmosolgo Jun 10, 2025
4f781cd
Use ractor-to-ractor communication to support 3.5+
rmosolgo Jun 10, 2025
93df8fd
Skip Ractor tests when using C parser
rmosolgo Jun 10, 2025
1d72531
Merge pull request #5372 from rmosolgo/better-interface-error
rmosolgo Jun 10, 2025
020bb21
Remove need for warm-up query
rmosolgo Jun 10, 2025
aba2c68
Support validation in non-main ractors
rmosolgo Jun 10, 2025
beff0d0
Try dynamic visibility ...
rmosolgo Jun 10, 2025
b52c317
Remove unused vis code, don't freeze types
rmosolgo Jun 10, 2025
9a6498b
inherit validation allowances.
gmac Jun 11, 2025
0e092de
Merge pull request #5382 from gmac/gmac/inherit_validation_allowances
rmosolgo Jun 11, 2025
6aedea6
Fix inheriting visibility with preload: true
rmosolgo Jun 16, 2025
dfef6fc
Merge pull request #5386 from rmosolgo/fix-preload-inheritance
rmosolgo Jun 17, 2025
56898b6
Update some JS dependencies
rmosolgo Jun 17, 2025
ce29cba
Merge pull request #5387 from rmosolgo/js-deps-update
rmosolgo Jun 17, 2025
62d427f
js-1.14.8
rmosolgo Jun 17, 2025
a8ad919
Merge branch 'master' into basic-ractor-support
rmosolgo Jun 19, 2025
3b17428
Test errors, enum values, direct get_type and get_field calls
rmosolgo Jun 19, 2025
92b15f3
Fix test
rmosolgo Jun 19, 2025
0c45b03
Merge pull request #5370 from rmosolgo/basic-ractor-support
rmosolgo Jun 19, 2025
20fa39d
Use a cached lookup for field resolution from SDL
rmosolgo Jun 24, 2025
bcd6308
Remove useless job counting
rmosolgo Jun 24, 2025
3089ff5
Merge pull request #5392 from rmosolgo/execution-clean-ups
rmosolgo Jun 24, 2025
e65f537
Merge pull request #5393 from rmosolgo/faster-from-definition-field-call
rmosolgo Jun 24, 2025
e215883
Add a failing test for transitive interfaces and .possible_types
rmosolgo Jun 25, 2025
bbda131
Don't output abstract types in possible_types(t); remove duplicate ob…
rmosolgo Jun 25, 2025
5069859
Merge pull request #5395 from rmosolgo/possible-types-without-interfaces
rmosolgo Jun 25, 2025
b14c7d4
RequiredValidator: remove non-visible definitions from the error message
rmosolgo Jun 25, 2025
000eacb
Update assertion
rmosolgo Jun 25, 2025
ea9d1ea
Merge pull request #5396 from rmosolgo/filter-types-for-required-vali…
rmosolgo Jun 25, 2025
49ea523
Fix association loads with different scopes on the same object
rmosolgo Jul 3, 2025
9d3a199
Merge pull request #5398 from rmosolgo/association-load-fix
rmosolgo Jul 3, 2025
4a72a82
2.5.10
rmosolgo Jul 3, 2025
9442377
Support dataloader calls after batched lazy resolve
rmosolgo Jul 8, 2025
9e03c13
Merge pull request #5400 from rmosolgo/dataloader-batch-integration
rmosolgo Jul 9, 2025
885a0bf
2.5.11
rmosolgo Jul 9, 2025
e772acc
Fix loading directives from SDL
rmosolgo Jul 11, 2025
c778566
Merge pull request #5401 from rmosolgo/better-from-definition-directives
rmosolgo Jul 11, 2025
31c6cb9
docs(validation): fix allow_null example comment to permit null values
tetzng Jul 17, 2025
68f160f
Merge pull request #5405 from tetzng/patch-1
rmosolgo Jul 17, 2025
018b743
Visibility: Default to preload: true when env.staging?
rmosolgo Jul 30, 2025
9949909
Bump actions/checkout from 4 to 5
dependabot[bot] Aug 12, 2025
5ba154a
Extract dataloader changes from run-queue-3; merge lazy resolution in…
rmosolgo Aug 26, 2025
a221c9a
add runtime hook for breadth execution patterns.
gmac Aug 15, 2025
e79e04b
fix file endings
rmosolgo Sep 2, 2025
4d57c4d
Handle ExecutionErrors raised from leaf coercion + dataloader
rmosolgo Sep 2, 2025
43e8eb3
Fix stale references to lazies_at_depth; correctly re-enter execution…
rmosolgo Sep 2, 2025
e9dffaa
Quick test fixes
rmosolgo Sep 2, 2025
bb3f2da
Add deprecations to Execution::Resolve; better lazy/Dataloader integr…
rmosolgo Sep 2, 2025
e901a86
Debug mutation test
rmosolgo Sep 2, 2025
e9f8dc2
Update spec for non-depth-first behavior with FlatDataloader
rmosolgo Sep 2, 2025
4fb6307
Fix context for argument errors
rmosolgo Sep 2, 2025
c2257b8
Update specs for resolution order
rmosolgo Sep 2, 2025
fc40677
Add Lazy handling to AsyncDataloader
rmosolgo Sep 2, 2025
ba2712d
Fix initialization; rebuild snapshot
rmosolgo Sep 2, 2025
3493129
Remove steps_to_rerun_after_lazy since it's not used yet
rmosolgo Sep 2, 2025
78bd98f
Clean up lazies_at_depth, DRY FlatDataloader
rmosolgo Sep 2, 2025
d34262b
Update assertions
rmosolgo Sep 2, 2025
5c43bcc
Update more specs
rmosolgo Sep 2, 2025
2b9f736
Put back missing require
rmosolgo Sep 2, 2025
16d31c1
Mark load_application_object_failed as public API
letiesperon Sep 3, 2025
f13d4a7
fix test suite naming conflicts.
gmac Sep 3, 2025
889bcf6
Add Lazy resolution to NullDataloader and remove FlatDataloader
rmosolgo Sep 3, 2025
22a7067
Merge pull request #5425 from gmac/gmac--cardinal-runtime-shim
rmosolgo Sep 3, 2025
e634d8d
Merge pull request #5426 from letiesperon/fix-load-application-object…
rmosolgo Sep 3, 2025
d406d39
Use a fresh NullDataloader instance for run_isolated to support froze…
rmosolgo Sep 3, 2025
7834e2b
Revert some changes to test output
rmosolgo Sep 3, 2025
f5a87f3
Merge branch 'master' into merge-dataloader-and-lazy
rmosolgo Sep 3, 2025
add47cc
Update breadth-first spec
rmosolgo Sep 3, 2025
4ee6edc
Merge pull request #5422 from rmosolgo/merge-dataloader-and-lazy
rmosolgo Sep 4, 2025
63f9272
Bump actions/setup-node from 4 to 5
dependabot[bot] Sep 8, 2025
d41f84f
refactor breadth interface to support argument errors.
gmac Sep 9, 2025
59c31b8
Merge pull request #5429 from gmac/gmac--refactor-breadth-interface
rmosolgo Sep 10, 2025
22caeae
Merge pull request #5428 from rmosolgo/dependabot/github_actions/acti…
rmosolgo Sep 12, 2025
321e91e
pro-1.29.12
rmosolgo Sep 12, 2025
052a612
Merge branch 'master' into dependabot/github_actions/actions/checkout-5
rmosolgo Sep 15, 2025
7f2de26
Merge pull request #5416 from rmosolgo/dependabot/github_actions/acti…
rmosolgo Sep 15, 2025
43d06cc
2.5.12
rmosolgo Sep 15, 2025
d99a93e
Typo
rmosolgo Sep 15, 2025
57449ad
don't assume query.selected_operation is defined
redterror Sep 16, 2025
f570056
Update input_objects.md for new Specification
hwrdprkns Sep 18, 2025
746a161
Merge pull request #5436 from hwrdprkns/hwrdprkns-input-oneof
rmosolgo Sep 18, 2025
747175b
enterprise-1.5.8
rmosolgo Sep 19, 2025
87d0257
pro-1.29.13
rmosolgo Sep 22, 2025
0d251d9
Support visibility_profile: ... in testing helpers
rmosolgo Sep 22, 2025
6a9c132
Merge pull request #5439 from rmosolgo/add-visibility-profile-to-test…
rmosolgo Sep 22, 2025
f24d712
Properly handle lists of input objects as directive arguments
rmosolgo Sep 22, 2025
e501940
Merge pull request #5440 from rmosolgo/directive-value-fix
rmosolgo Sep 22, 2025
858f382
2.5.13
rmosolgo Sep 22, 2025
636a154
Merge pull request #5433 from redterror/bug/tracing-no-selected-opera…
rmosolgo Sep 24, 2025
5129fd5
Disambiguate result variable in runtime code; move depth calculation …
rmosolgo Oct 5, 2025
54614ab
Merge pull request #5445 from rmosolgo/after-lazy-cleanup
rmosolgo Oct 8, 2025
ffc6ff3
2.5.14
rmosolgo Oct 8, 2025
2b9ac4b
Remove duplicate wording
RicardoTrindade Oct 9, 2025
b6ca41f
Merge pull request #5447 from RicardoTrindade/fix_error_message_typo
rmosolgo Oct 11, 2025
db11d0c
Correct doc to changesets_dir
rmosolgo Oct 16, 2025
fd564c1
Bump actions/setup-node from 5 to 6
dependabot[bot] Oct 20, 2025
447a381
Ensure `data` entry exists for execution errors
swalkinshaw Oct 23, 2025
c977e1e
enterprise-1.5.9, pro-1.29.1
rmosolgo Nov 21, 2025
68e7a6a
Merge pull request #5452 from rmosolgo/spec-compliant-data-response
rmosolgo Nov 24, 2025
d9f46c5
Update snapshot for Rails master
rmosolgo Nov 24, 2025
4f0c24b
Don't modify cached array from types.interfaces
rmosolgo Nov 24, 2025
7ee15bf
Add Rails 8.0 and 8.1 builds
rmosolgo Nov 24, 2025
3909f7a
Add missing snapshots
rmosolgo Nov 24, 2025
21b4409
Merge pull request #5468 from rmosolgo/fix-printer-interface-error
rmosolgo Nov 24, 2025
44a9c84
Improve SDL directive argument coercion
rmosolgo Nov 24, 2025
05b9e53
Bump actions/checkout from 5 to 6
dependabot[bot] Nov 24, 2025
8812d36
Merge pull request #5469 from rmosolgo/directive-bug-fix
rmosolgo Nov 25, 2025
d7700e1
Merge pull request #5470 from rmosolgo/dependabot/github_actions/acti…
rmosolgo Nov 25, 2025
c0b14b8
Bump js-yaml from 3.14.1 to 3.14.2 in /javascript_client
dependabot[bot] Nov 25, 2025
5e4ec51
Merge pull request #5471 from rmosolgo/dependabot/npm_and_yarn/javasc…
rmosolgo Nov 25, 2025
4e22b4b
Update glob and @types/node
rmosolgo Nov 25, 2025
6e3b745
remove Rails 7.0 and 7.1; add 7.2
rmosolgo Nov 25, 2025
915643d
Merge pull request #5472 from rmosolgo/update-js
rmosolgo Nov 25, 2025
01c3608
enterprise 1.6.0
rmosolgo Nov 25, 2025
476930e
Update build script
rmosolgo Dec 2, 2025
19152c1
Add workaround for ActiveRecord logger
rmosolgo Dec 2, 2025
79bd619
Add allow_all_hidden; make it default for required: :nullable
rmosolgo Dec 2, 2025
165a3d1
Improve error message
rmosolgo Dec 2, 2025
7848952
Update spec/graphql/schema/validator/required_validator_spec.rb
rmosolgo Dec 2, 2025
73358f8
Clean up code, support grouped one-of conditions
rmosolgo Dec 2, 2025
fc272ef
Merge pull request #5474 from rmosolgo/one-of-allow-all-hidden
rmosolgo Dec 2, 2025
6324fd4
Document allow_all_hidden: true, xref #5474
rmosolgo Dec 4, 2025
c503d8e
Merge pull request #5467 from rmosolgo/fix-rails-master-build
rmosolgo Dec 4, 2025
da1d4fe
Improve .inspect support for DetailedTrace
rmosolgo Dec 4, 2025
33f4000
Capture timestamp before calculating extra_counter_values
rmosolgo Dec 4, 2025
8cd47d4
Conditionally add fiber-storage dependency for Ruby < 3.2
OuYangJinTing Dec 5, 2025
f0232f0
Merge pull request #5456 from OuYangJinTing/chore/fiber-storage-depen…
rmosolgo Dec 5, 2025
38a2d2b
Fix typo
rmosolgo Dec 5, 2025
153b392
remove focus
rmosolgo Dec 5, 2025
9e50125
Revert accidental test change
rmosolgo Dec 5, 2025
9d324f2
Update snapshots, fix test
rmosolgo Dec 5, 2025
fc66fe3
Add debug: false and detailed_trace_debug: false for opting out of de…
rmosolgo Dec 5, 2025
156f6f3
Merge pull request #5477 from rmosolgo/perfetto-better-inspect
rmosolgo Dec 5, 2025
22ae5e6
Merge branch 'master' into dependabot/github_actions/actions/setup-no…
rmosolgo Dec 5, 2025
ccf2cb7
Merge pull request #5449 from rmosolgo/dependabot/github_actions/acti…
rmosolgo Dec 5, 2025
849eca9
Don't default preload: true for Rails.env.test?
rmosolgo Dec 8, 2025
a3157d2
Merge branch 'master' into switch-on-development-not-production
rmosolgo Dec 8, 2025
b74bf4a
Improve test setup and teardown
rmosolgo Dec 8, 2025
dee9294
Merge pull request #5409 from rmosolgo/switch-on-development-not-prod…
rmosolgo Dec 8, 2025
d779607
Pass resolved_type into legacy_invalid_empty_selections_on_union_with…
ravangen Dec 8, 2025
5c0a2d5
Merge pull request #5480 from Shopify/ravangen.invalid-empty-selectio…
rmosolgo Dec 9, 2025
9833444
Fix typo in function docstring
ravangen Dec 9, 2025
e7fe534
Add GraphQL::Testing::MockActionCable
rmosolgo Dec 9, 2025
c436e28
remove needless requires - it's autoloaded
rmosolgo Dec 9, 2025
255a9b1
Merge pull request #5482 from rmosolgo/mock-action-cable
rmosolgo Dec 9, 2025
fecbbc5
v2.5.15
rmosolgo Dec 9, 2025
df76049
Merge pull request #5481 from Shopify/ravangen.invalid-empty-selectio…
rmosolgo Dec 9, 2025
dabfdb2
Try specifying an ssh url
rmosolgo Dec 9, 2025
90cddc3
Use ssh key for website
rmosolgo Dec 9, 2025
872de91
fix typo in URL
rmosolgo Dec 9, 2025
fd6e100
Try a different gh action
rmosolgo Dec 9, 2025
5b2b13a
Update API docs publish too
rmosolgo Dec 9, 2025
29edc68
Fix fiber-storage in gemspec
rmosolgo Dec 10, 2025
e4b938a
Merge pull request #5484 from rmosolgo/fiber-storage-dependency-fix
rmosolgo Dec 10, 2025
fa2ba4e
2.5.16
rmosolgo Dec 10, 2025
01f8152
Add test for lazy-defined connection type in class
rmosolgo Dec 11, 2025
1586b0a
Merge pull request #5485 from rmosolgo/test-lazy-connection-field-type
rmosolgo Jan 6, 2026
cba12a4
js-1.14.9
rmosolgo Dec 12, 2025
f58d55f
Document HasFields#field, add tests for documentation
rmosolgo Jan 6, 2026
9ef66b4
Copy docs for HasArgument#argument, fix field tests
rmosolgo Jan 6, 2026
ad689b2
Merge Field.from_options into HasFields#field
rmosolgo Jan 6, 2026
93a409e
Don't add whitespace when vars include numbers
rmosolgo Jan 6, 2026
de9e675
Try requiring minitest/mock
rmosolgo Jan 6, 2026
8ee3f94
Add new dependency for Minitest 6
rmosolgo Jan 6, 2026
5065756
Merge pull request #5492 from rmosolgo/fix-numbers-in-vars
rmosolgo Jan 7, 2026
bd6c23d
Merge branch 'master' into better-method-docs
rmosolgo Jan 7, 2026
a69bd68
Update CI config
rmosolgo Jan 7, 2026
881fde9
remove require
rmosolgo Jan 7, 2026
04c4330
Update other gemfiles
rmosolgo Jan 7, 2026
3e60ec2
Optimize INVALID_NUMBER_FOLLOWED_BY_NAME_REGEXP
swalkinshaw Jan 7, 2026
65de110
Merge pull request #5494 from rmosolgo/optimize-invalid-number-follow…
rmosolgo Jan 7, 2026
dd75de1
Remove Field.from_options
rmosolgo Jan 8, 2026
846e77c
Fix CI for minitest 6
rmosolgo Jan 8, 2026
6f31be9
Fix gemspec
rmosolgo Jan 8, 2026
d43936b
Merge pull request #5495 from rmosolgo/reduce-field-definition-memory
rmosolgo Jan 8, 2026
17dd8cf
Merge master, update specs
rmosolgo Jan 9, 2026
1194822
Update implementation and tests for HasArgument
rmosolgo Jan 9, 2026
215e7fa
Merge pull request #5491 from rmosolgo/better-method-docs
rmosolgo Jan 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 2 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,11 @@ other applicable versions (`graphql-batch`, etc)

**GraphQL schema**

Include relevant types and fields (in Ruby is best, in GraphQL IDL is ok).
Are you using [interpreter](https://graphql-ruby.org/queries/interpreter.html)? Any custom instrumentation, etc?
Include relevant types and fields (in Ruby is best, in GraphQL IDL is ok). Any custom extensions, etc?

```ruby
class Product < GraphQL::Schema::Object
field :id, ID, null: false, hash_key: :id
field :id, ID, hash_key: :id
# …
end

Expand Down
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
47 changes: 0 additions & 47 deletions .github/workflows/apidocs.yaml

This file was deleted.

116 changes: 68 additions & 48 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -1,36 +1,42 @@
name: CI Suite
on:
- push
- pull_request

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v6
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
ruby-version: 3.4
bundler-cache: true
- run: bundle exec rake rubocop
system_tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: shogo82148/actions-setup-redis@v1
with:
redis-version: "7.x"
- run: redis-cli ping
- uses: actions/checkout@v6
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
ruby-version: 3.4
bundler-cache: true
env:
BUNDLE_GEMFILE: ./spec/dummy/Gemfile
- run: bundle exec rails test:system
BUNDLE_GEMS__GRAPHQL__PRO: ${{ secrets.BUNDLE_GEMS__GRAPHQL__PRO }}
BUNDLE_GEMFILE: gemfiles/rails_master.gemfile
- run: bin/rails test:all
working-directory: ./spec/dummy
env:
BUNDLE_GEMS__GRAPHQL__PRO: ${{ secrets.BUNDLE_GEMS__GRAPHQL__PRO }}
BUNDLE_GEMFILE: ../../gemfiles/rails_master.gemfile
# Some coverage goals of these tests:
# - Test once without Rails at all
# - Test postgres, to make sure that the ActiveRecord
# stuff works on that (as well as the default sqlite)
# - Test mongoid -- and several versions, since they're quite different
# - Run the tests with Rails _and_ TESTING_LEGACY=1 to test legacy codepaths
# - Run the JS unit tests once
# - Test each major version of Rails we support
# - Test the min/max minor Ruby version we support (and others?)
Expand All @@ -40,51 +46,62 @@ jobs:
matrix:
include:
- gemfile: Gemfile
ruby: 2.6
- gemfile: gemfiles/rails_3.2.gemfile
ruby: 2.3
bundler: "1"
- gemfile: gemfiles/rails_4.2.gemfile
ruby: 2.4
bundler: "1"
# Rails 5.2 is tested with Postgresql below
- gemfile: gemfiles/rails_6.1.gemfile
ruby: 2.7
- gemfile: gemfiles/rails_master.gemfile
ruby: 3.0
ruby: head
- gemfile: Gemfile
ruby: 2.7 # lowest supported version
- gemfile: gemfiles/rails_8.0.gemfile
ruby: 3.3
graphql_reject_numbers_followed_by_names: 1
- gemfile: gemfiles/rails_8.1.gemfile
ruby: 4.0
graphql_reject_numbers_followed_by_names: 1
redis: 1
- gemfile: gemfiles/rails_master.gemfile
ruby: truffleruby-head
ruby: 3.4
graphql_reject_numbers_followed_by_names: 1
isolation_level_fiber: 1
redis: 1
runs-on: ubuntu-latest
steps:
- run: echo BUNDLE_GEMFILE=${{ matrix.gemfile }} > $GITHUB_ENV
- uses: actions/checkout@v2
- run: echo GRAPHQL_REJECT_NUMBERS_FOLLOWED_BY_NAMES=1 > $GITHUB_ENV
if: ${{ !!matrix.graphql_reject_numbers_followed_by_names }}
- run: echo ISOLATION_LEVEL_FIBER=1 > $GITHUB_ENV
if: ${{ !!matrix.isolation_level_fiber }}
- uses: shogo82148/actions-setup-redis@v1
with:
redis-version: "7.x"
if: ${{ !!matrix.redis }}
- run: redis-cli ping
if: ${{ !!matrix.redis }}
- uses: actions/checkout@v6
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
bundler: ${{ matrix.bundler || 'default' }}
- run: bundle exec rake compile
- run: bundle exec rake test
legacy_test:
runs-on: ubuntu-latest
steps:
- run: echo BUNDLE_GEMFILE='gemfiles/rails_6.1.gemfile' > $GITHUB_ENV
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
bundler-cache: true
- run: bundle exec rake test TESTING_LEGACY=1
javascript_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
ruby-version: 2.7
bundler-cache: true
- run: bundle exec rake js:all
node-version: '21'
- run: npm ci
working-directory: ./javascript_client
- run: npm test
working-directory: ./javascript_client
postgres_test:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- gemfile: gemfiles/rails_master.gemfile
ruby: 3.3
isolation_level_fiber: 1
- gemfile: gemfiles/rails_7.2_postgresql.gemfile
ruby: 3.3
services:
postgres:
image: postgres:latest
Expand All @@ -101,33 +118,36 @@ jobs:
--health-timeout 5s
--health-retries 5
steps:
- run: echo BUNDLE_GEMFILE='gemfiles/rails_5.2_postgresql.gemfile' > $GITHUB_ENV
- run: echo BUNDLE_GEMFILE='' > $GITHUB_ENV
- run: echo DATABASE='POSTGRESQL' > $GITHUB_ENV
- run: echo PGPASSWORD='postgres' > $GITHUB_ENV
- uses: actions/checkout@v2
- run: echo GRAPHQL_CPARSER=1 > $GITHUB_ENV
- run: echo ISOLATION_LEVEL_FIBER=1 > $GITHUB_ENV
if: ${{ !!matrix.isolation_level_fiber }}
- uses: actions/checkout@v6
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
ruby-version: "3.3"
bundler-cache: true
- run: bundle exec rake test
- run: bundle exec rake compile test
mongodb_test:
strategy:
fail-fast: false
matrix:
gemfile:
- gemfiles/mongoid_6.gemfile
- gemfiles/mongoid_7.gemfile
- gemfiles/mongoid_9.gemfile
- gemfiles/mongoid_8.gemfile
runs-on: ubuntu-latest
services:
mongodb:
image: mongo:3.4.23
image: mongo
ports:
- 27017:27017
steps:
- run: echo BUNDLE_GEMFILE=${{ matrix.gemfile }} > $GITHUB_ENV
- uses: actions/checkout@v2
- uses: actions/checkout@v6
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
ruby-version: 3.4
bundler-cache: true
- run: bundle exec rake test
- run: bundle exec rake compile test
22 changes: 22 additions & 0 deletions .github/workflows/pronto.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Pronto
on:
- pull_request_target

jobs:
pronto:
runs-on: ubuntu-latest
steps:
- run: echo BUNDLE_GEMFILE=gemfiles/pronto.gemfile > $GITHUB_ENV
- name: Checkout code
uses: actions/checkout@v6
- run: git fetch --no-tags --prune --unshallow origin +refs/heads/*:refs/remotes/origin/*
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
bundler-cache: true
- name: Run Pronto
run: bundle exec pronto run -f github_pr -c origin/${{ github.base_ref }}
env:
PRONTO_PULL_REQUEST_ID: ${{ github.event.pull_request.number }}
PRONTO_GITHUB_ACCESS_TOKEN: "${{ github.token }}"
86 changes: 67 additions & 19 deletions .github/workflows/website.yaml
Original file line number Diff line number Diff line change
@@ -1,42 +1,90 @@
name: Publish Website
on:
# For some reason, `on: release: ...` didn't work with `nektos/act`
push:
branches: [master]
# Sequence of patterns matched against refs/tags
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
workflow_dispatch:
inputs:
publish_website:
description: "Publish guides to website?"
type: boolean
required: true
default: true
publish_version:
description: "If present, pull this GraphQL-Ruby version to rebuild API docs"
required: false
type: string

permissions: {}
jobs:
build:
website:
if: ${{ inputs.publish_website || github.ref_name }}
permissions:
contents: write
name: Publish Website
runs-on: ubuntu-latest
steps:
- name: Checkout master
uses: actions/checkout@v2
uses: actions/checkout@v6
- name: Checkout GitHub pages branch
uses: actions/checkout@v2
uses: actions/checkout@v6
with:
path: gh-pages
ref: gh-pages
- uses: actions/setup-ruby@v1
- uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7'
- name: Bundle install
run: |
gem install bundler
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
ruby-version: '3.1'
bundler-cache: true
- name: Build HTML, reindex
env:
ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }}
run: |
bundle exec rake site:fetch_latest site:build_doc site:update_search_index site:clean_html site:build_html
- name: Commit changes as last committer
run: |
git config --global user.name "%(git log --format="%aN" -n 1)"
git config --global user.email "%(git log --format="%aE" -n 1)"
git config --global user.name "$(git log --format="%aN" -n 1)"
git config --global user.email "$(git log --format="%aE" -n 1)"
bundle exec rake site:commit_changes
- name: Deploy to GitHub pages via gh-pages branch
uses: s0/git-publish-subdir-action@master
env:
REPO: self
BRANCH: gh-pages
FOLDER: gh-pages
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./gh-pages
api_docs:
needs: website
if: ${{ inputs.publish_version || github.ref_name }}
permissions:
contents: write
name: Publish API Docs
runs-on: ubuntu-latest
steps:
- name: Checkout release tag
uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_REF }}
- name: Checkout GitHub pages branch
uses: actions/checkout@v6
with:
path: gh-pages
ref: gh-pages
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
- name: Build API docs
run: |
bundle exec rake site:fetch_latest apidocs:gen_version["${{ inputs.publish_version || env.GITHUB_REF }}"]
- name: Commit changes as rmosolgo
run: |
git config --global user.name rmosolgo
git config --global user.email [email protected]
git status
bundle exec rake site:commit_changes
git status
- name: Deploy to GitHub pages via gh-pages branch
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./gh-pages
Loading