Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4572 commits
Select commit Hold shift + click to select a range
29cb41a
Fix some tests
rmosolgo May 6, 2026
b679bb3
Update dynamic members spec
rmosolgo May 6, 2026
498b8ff
feat(javascript_client): add ESM build output
mattander May 6, 2026
5c50450
Update more tests
rmosolgo May 6, 2026
a7702b5
Update query_spec
rmosolgo May 6, 2026
a3a71df
Update interpreter_spec.rb
rmosolgo May 6, 2026
b583160
update single-input spec
rmosolgo May 6, 2026
4e7126e
Update scalar spec, fix for untyped inputs
rmosolgo May 7, 2026
1a23377
Update argument spec, implement replace_null_with_default_value
rmosolgo May 7, 2026
3c7c8e1
Update visibility spec
rmosolgo May 7, 2026
0d775a5
Update required_validator_spec and field_extension_spec
rmosolgo May 7, 2026
a8fc9e7
Update more specs
rmosolgo May 7, 2026
280df95
Update more specs
rmosolgo May 7, 2026
6d07e02
Skip query directive tests for now
rmosolgo May 7, 2026
cf0f09c
Update async_dataloader spec
rmosolgo May 7, 2026
e8978ef
Update one_of_spec
rmosolgo May 7, 2026
ce0fa06
Update multiplex_spec
rmosolgo May 7, 2026
7da65c0
Update input_values_spec
rmosolgo May 7, 2026
4036dec
Fix field method name in spec
rmosolgo May 7, 2026
8d06657
Update dataloader_spec.rb
rmosolgo May 7, 2026
360f6bc
Fix lint, update scout spec
rmosolgo May 7, 2026
4ca03cb
Update specs
rmosolgo May 7, 2026
dabc2dc
Fix batching resolved_type
rmosolgo May 7, 2026
c010e8f
Update more tests
rmosolgo May 7, 2026
fadad67
Update AppSignal trace
rmosolgo May 8, 2026
ea32954
Update partial_spec
rmosolgo May 8, 2026
78b2ce4
Update directive spec
rmosolgo May 8, 2026
a3e77b3
Fix error ast_node assignment
rmosolgo May 8, 2026
298292a
Make all finalizers handle ast_node(s)
rmosolgo May 8, 2026
e31a764
Update interface_spec
rmosolgo May 8, 2026
f561e9f
update logger_spec
rmosolgo May 8, 2026
f16b145
Update nonblocking_dataloader_spec
rmosolgo May 8, 2026
f50042a
update rails schema_spec.rb
rmosolgo May 8, 2026
dc0a205
Update analysis and has_arguments specs
rmosolgo May 8, 2026
b455cba
Update AS::N tracing spec
rmosolgo May 8, 2026
51c56d1
Update transform_spec
rmosolgo May 8, 2026
56db7b2
Update instrumentation_spec
rmosolgo May 8, 2026
95483b8
Update perfetto trace
rmosolgo May 8, 2026
7e095fb
Update trace modes spec
rmosolgo May 8, 2026
492508c
Update max_query_complexity_spec
rmosolgo May 8, 2026
aab6d72
Update date_spec
rmosolgo May 8, 2026
6c31667
Update dataloader specs
rmosolgo May 8, 2026
fd42ef4
update query_logs_spec
rmosolgo May 8, 2026
f63f3a9
Update platform_trace_spec
rmosolgo May 8, 2026
ed5433d
Update flagged_spec
rmosolgo May 8, 2026
28a2dc9
Update scout_trace
rmosolgo May 8, 2026
7813aa1
Update schema_spec
rmosolgo May 8, 2026
8c5f755
Update validator_spec
rmosolgo May 8, 2026
25dbcbe
Update notifications_trace_spec
rmosolgo May 8, 2026
5f07174
update_profile_spec
rmosolgo May 8, 2026
5bc39b0
Update connection extension spec
rmosolgo May 8, 2026
a2d9d1d
Update feature_spec
rmosolgo May 8, 2026
2bfe174
Update enum_spec
rmosolgo May 8, 2026
e865f7d
update prometheus_tracing and connections specs
rmosolgo May 8, 2026
885267f
Update always_visible spec
rmosolgo May 8, 2026
87ed4cc
Update string_spec
rmosolgo May 8, 2026
34ebe67
update current_spec
rmosolgo May 8, 2026
cf998e0
Update connections errors
rmosolgo May 8, 2026
f8207d5
Update lookahead_spec
rmosolgo May 8, 2026
a80c9b2
Update ractor_shareable_spec
rmosolgo May 8, 2026
63cf9f8
Update statsd_tracing_spec.rb
rmosolgo May 8, 2026
a696d34
update appoptics trace spec
rmosolgo May 8, 2026
46b18d8
Fix some subscription_spec.rb
rmosolgo May 8, 2026
b214940
Fix subscription for old runtime
rmosolgo May 8, 2026
a2c11eb
Migrate appoptics_tracing_spec
rmosolgo May 11, 2026
4e1635b
Skip test for Object.wrap
rmosolgo May 11, 2026
1da212d
Use raise instead of throw for easier rescuing; update Subscription f…
rmosolgo May 11, 2026
97dd867
Dup errors when used at multiple paths, skip some tests for now
rmosolgo May 11, 2026
82f5d37
Migrate rails async_dataloader spec
rmosolgo May 11, 2026
5c43bc7
Merge pull request #5619 from rmosolgo/next-as-default-option
rmosolgo May 11, 2026
34afbc9
Fix Ruby warnings
duffuniverse May 12, 2026
19f5bac
Start categorizing exec-next skips
rmosolgo May 12, 2026
bd39b27
fix detailed trace on anonymous classes
rmosolgo May 12, 2026
c4f62ef
Merge pull request #5624 from rmosolgo/perfetto-fix-anon-classes
rmosolgo May 12, 2026
f221578
use methods for exec_next test behaviors
rmosolgo May 12, 2026
4b383bc
Document helpers
rmosolgo May 12, 2026
ecffdc6
document as_default
rmosolgo May 12, 2026
06bbc65
Fix lint error
rmosolgo May 12, 2026
4afdf6f
Merge pull request #5625 from rmosolgo/exec-next-test-cleanup
rmosolgo May 12, 2026
e6f0868
2.6.2
rmosolgo May 12, 2026
3d92cd7
Backtrace: fix loop when error preparing arguments
rmosolgo May 13, 2026
357251c
Skip on exec-next
rmosolgo May 13, 2026
79145f0
Interface: only get ResolverMethods from interfaces
rmosolgo May 13, 2026
ef16bd0
Parser: fix escape_single_quoted_newlines with nested string
rmosolgo May 13, 2026
43fe983
Merge pull request #5630 from rmosolgo/fix-newline-escape-inside-trip…
rmosolgo May 13, 2026
627d07b
Remove focus
rmosolgo May 13, 2026
779f631
Merge pull request #5628 from rmosolgo/fix-backtrace-error
rmosolgo May 13, 2026
a6ddab8
Merge pull request #5629 from rmosolgo/fix-resolver-methods-lookup
rmosolgo May 13, 2026
dfce8ee
Cache type intersection results in QueryComplexity analyzer
sobrinho May 13, 2026
67d323c
Remove complexity benchmark script
sobrinho May 13, 2026
6a15de3
Fix intersect cache key to avoid collisions on 64-bit systems
sobrinho May 13, 2026
53389cf
Address the warning by using z in the case statement
duffuniverse May 14, 2026
5637fd9
Don't crash analyzer when @skip/@include arg fails coercion
artplan1 May 14, 2026
242866a
Merge pull request #5623 from duffuniverse/fix-ruby-warnings-in-tests
rmosolgo May 14, 2026
5075e45
Merge pull request #5633 from artplan1/fix-null-directive-arg-analyze…
rmosolgo May 14, 2026
7128ec8
Use a two-layer cache by identity
rmosolgo May 14, 2026
3594864
Reduce allocations and loops in query_complexity.rb
rmosolgo May 14, 2026
e6ae0c6
go back to ==
rmosolgo May 14, 2026
9ea31cb
Merge pull request #5631 from sobrinho/claude/tender-nobel-b601b8
rmosolgo May 14, 2026
622ec4f
Pass first query if there is only 1
rmosolgo May 15, 2026
9ca2c62
Merge pull request #5634 from rmosolgo/execute_query_lazy-compat
rmosolgo May 15, 2026
b0e4124
Visibility: require all root config before preloading
rmosolgo May 15, 2026
8c8ab4a
Add changelog entry for tracing change in 2.5.12
rmosolgo May 15, 2026
69fcb1a
Merge branch 'master' into async-dataloader-deadlock-fix
rmosolgo May 19, 2026
08a86a3
Fix `required: :nullable` crash when combined with `as:`
medlefsen May 19, 2026
2e2e717
Rewrite AsyncDataloader to use Queues to communicate task status
rmosolgo May 19, 2026
0f43424
reorder waiting tasks
rmosolgo May 19, 2026
57647a6
Merge pull request #5636 from medlefsen/fix-required-nullable-with-as
rmosolgo May 19, 2026
7546377
Rebuild visibility cache when config is inherited
rmosolgo May 21, 2026
074d274
Fix for Rails tests, remove some dead code
rmosolgo May 21, 2026
4602e4a
Merge pull request #5635 from rmosolgo/visibility-preload-config-fix
rmosolgo May 21, 2026
9f2b693
Execution::Next: bail out when fragment non-null propagation nullifie…
drhops May 21, 2026
a1462bc
Fix test_bubble_through_inline_fragment and test_bubble_through_fragm…
drhops May 21, 2026
28f747b
Execution::Next: fix undefined static_type in field-lookup invariant …
drhops May 21, 2026
af75b52
Merge pull request #5637 from drhops/fix-execution-next-fragment-null…
rmosolgo May 25, 2026
df8ffad
Exec-next: Implement GraphQL::Current.field
rmosolgo May 25, 2026
fb3d9d5
Accept procs for validator configs
rmosolgo May 25, 2026
1761add
Update another spec, add cleanup code
rmosolgo May 25, 2026
a219bc5
Merge pull request #5640 from rmosolgo/exec-next-current-field
rmosolgo May 25, 2026
d7c3928
Document validator procs
rmosolgo May 25, 2026
2b1ecaf
Merge pull request #5641 from rmosolgo/validator-config-procs
rmosolgo May 25, 2026
0aa6dd0
Use crypto.randomUUID for ActionCableLink channelId
obake-fe May 26, 2026
d337b9d
ActionCableLink: accept channelId function
rmosolgo May 26, 2026
d1f8679
Add tests for ESM exports, remove documentation exports
rmosolgo May 26, 2026
415c5fa
Merge pull request #5621 from mattander/add-esm-build-for-js-client
rmosolgo May 26, 2026
59b6fae
Merge pull request #5642 from obake-fe/fix/action-cable-link-channel-…
rmosolgo May 26, 2026
175e9b4
Replace Date.now()... with crypto.randomUUID
rmosolgo May 26, 2026
9d4fc85
Merge pull request #5643 from rmosolgo/js-use-crypto
rmosolgo May 26, 2026
c30dbae
js-1.15.0
rmosolgo May 26, 2026
242ce04
remove prepublish test run
rmosolgo May 26, 2026
3773787
Update tests for exec-next
rmosolgo May 26, 2026
4c32e90
2.6.3
rmosolgo May 26, 2026
881ae28
implement lazy resolve, improve job counting
rmosolgo May 28, 2026
3edd773
properly run snoozed source tasks
rmosolgo May 28, 2026
f0a7ede
Consolidate async queue logic
rmosolgo May 28, 2026
6ba393b
Fall back to getRandomValues when crypto.randomUUID is unavailable
domenicofalco Jun 12, 2026
e1d91fc
Merge pull request #5649 from domenicofalco/fix-randomuuid-insecure-c…
rmosolgo Jun 12, 2026
acbfe02
js-1.15.1
rmosolgo Jun 12, 2026
cb5dba2
Exec-next: fix tracing positional args
rmosolgo Jun 12, 2026
ebeb725
Merge branch 'master' into async-dataloader-deadlock-fix
rmosolgo Jun 12, 2026
3939526
Update snapshots
rmosolgo Jun 12, 2026
ff6e4a0
Merge pull request #5650 from rmosolgo/exec-next-fix-trace-args
rmosolgo Jun 12, 2026
049c931
Fix ActionCable test for Rails head
rmosolgo Jun 12, 2026
b426e8e
Merge pull request #5651 from rmosolgo/fix-action-cable-tests
rmosolgo Jun 12, 2026
ffa4a98
Add Async fiber limit implementation
rmosolgo Jun 17, 2026
6fe7c4f
Clean up FiberCounting test helper
rmosolgo Jun 18, 2026
db2b435
Rename fiber variables
rmosolgo Jun 18, 2026
1de64d5
Update AsyncDataloader spec and snapshots
rmosolgo Jun 18, 2026
31281b4
Merge pull request #5479 from rmosolgo/async-dataloader-deadlock-fix
rmosolgo Jun 18, 2026
10e4d50
2.6.4
rmosolgo Jun 22, 2026
787eb79
Improve result -> error mapping, add eager null propagation termination
rmosolgo Jun 22, 2026
f6f853d
Fix multiple error codepath
rmosolgo Jun 22, 2026
5d02572
Better support for multiple errors, per-query lists of error responses
rmosolgo Jun 22, 2026
c0078bc
Merge finalizers at key
rmosolgo Jun 22, 2026
a73bba5
Update tests for non-null branches with null propagation
rmosolgo Jun 22, 2026
60e7174
Bump actions/checkout from 6 to 7
dependabot[bot] Jun 22, 2026
def44a4
use finalizers instead of error_results
rmosolgo Jun 23, 2026
6481932
Remove top-level abort condition
rmosolgo Jun 23, 2026
21d0728
Don't generate fields for filtered parameters
rmosolgo Jun 23, 2026
763dedf
Merge pull request #5652 from rmosolgo/dependabot/github_actions/acti…
rmosolgo Jun 23, 2026
c9b40a7
Merge pull request #5644 from rmosolgo/exec-next-null-propagation
rmosolgo Jun 23, 2026
5aedb6f
Remove logging, fix setup
rmosolgo Jun 23, 2026
8c0b3f4
Don't reference unavailable constant
rmosolgo Jun 23, 2026
28ea3ec
Merge pull request #5653 from rmosolgo/skip-filtered-parameters
rmosolgo Jun 23, 2026
940dc36
Copy replication from script
rmosolgo Jun 24, 2026
d29c3f9
Improve replication to fail properly
rmosolgo Jun 24, 2026
8bc4b60
remove debug
rmosolgo Jun 25, 2026
94085cf
Tune some Dataloader::Source methods
rmosolgo Jun 25, 2026
69fe51e
use identity in source cache
rmosolgo Jun 30, 2026
4763724
pro-1.30.1
rmosolgo Jun 30, 2026
10835b2
Add note about threadsafety when generating schemas, fixes #5657
rmosolgo Jul 1, 2026
39bcb9f
Use started_tasks queue to run new tasks
rmosolgo Jul 1, 2026
6e2324d
Fix task queue logic for lazies
rmosolgo Jul 1, 2026
0d2f957
Move pending jobs state to Run object
rmosolgo Jul 2, 2026
402e396
Fix lint errors, move lazies to Run also
rmosolgo Jul 2, 2026
b6c093d
Clean up
rmosolgo Jul 2, 2026
164093a
Fix lint error, update spec
rmosolgo Jul 6, 2026
fb3c3ea
lint fixes
rmosolgo Jul 6, 2026
64adaf4
Merge pull request #5658 from rmosolgo/optimize-dataloader-source
rmosolgo Jul 6, 2026
ad08aa6
Merge branch 'master' into fix-closed-queue-error
rmosolgo Jul 6, 2026
fa9e31e
Merge pull request #5656 from rmosolgo/fix-closed-queue-error
rmosolgo Jul 6, 2026
44676aa
2.6.5
rmosolgo Jul 6, 2026
02c5d1c
Apply directive argument defaults when validating
dpep Jul 7, 2026
4fa9e0d
rubocop: drop redundant required: true
dpep Jul 7, 2026
23f248b
style: unless value.nil?
dpep Jul 7, 2026
ad10583
Allow instances of subclasses of wrapper class to be pattern matched …
itojum Jul 7, 2026
56675c2
Merge pull request #5659 from dpep/directive-argument-defaults
rmosolgo Jul 7, 2026
e681f8d
Merge pull request #5660 from itojum/add-wrapper-pattern-matching
rmosolgo Jul 7, 2026
5470caf
Fix Dataloader Ruby version check
ydah Jul 9, 2026
bda4004
Fix Schema union memberships lookup
ydah Jul 9, 2026
e75d67f
Fix Query variables storage after max errors
ydah Jul 9, 2026
8dae810
Exclude Jekyll dependencies from test CI
ydah Jul 9, 2026
e75dfdd
Merge pull request #5665 from ydah/exclude-jekyll-deps-from-ci
rmosolgo Jul 10, 2026
384bbb7
Bump ws from 8.17.1 to 8.21.0 in /javascript_client
dependabot[bot] Jul 10, 2026
aa79336
Merge pull request #5662 from ydah/fix-dataloader-ruby-version-check
rmosolgo Jul 10, 2026
e3f0e55
Merge pull request #5667 from rmosolgo/dependabot/npm_and_yarn/javasc…
rmosolgo Jul 10, 2026
c30cc15
Merge pull request #5664 from ydah/fix-query-variables-max-errors-sto…
rmosolgo Jul 10, 2026
41c390d
Test inherited Schema union memberships
ydah Jul 10, 2026
063a76f
Queue pending Dataloader sources
ydah Jul 9, 2026
4e6ccf0
Use Set for pending Dataloader sources
ydah Jul 11, 2026
f00fed3
Apply query token limit in Schema.validate
ydah Jul 11, 2026
58bb877
Share lazy job scheduling across dataloaders
ydah Jul 11, 2026
e02e002
Remove obsolete NoMethodError compatibility
ydah Jul 11, 2026
ae50d7d
Merge pull request #5668 from ydah/fix-schema-validate-max-query-stri…
rmosolgo Jul 14, 2026
d8e8702
Merge pull request #5666 from ydah/queue-pending-dataloader-sources
rmosolgo Jul 15, 2026
00c69ef
Merge pull request #5670 from ydah/remove-obsolete-nomethoderror-comp…
rmosolgo Jul 15, 2026
0e60320
Merge pull request #5663 from ydah/fix-schema-union-memberships-typo
rmosolgo Jul 15, 2026
8b9f621
Merge pull request #5669 from ydah/refactor-dataloader-lazy-jobs
rmosolgo Jul 15, 2026
da3d99e
Rescue all errors before they reach Async
rmosolgo Jul 15, 2026
9b24da9
Fix operation directive finalizer registration
ydah Jul 15, 2026
63e110a
Forward Relay subscription errors
ydah Jul 15, 2026
e5c9ec0
Avoid duplicate selection step enqueueing
ydah Jul 15, 2026
059c93e
Improve AsyncDataloader waiting logic; remove @pending_sources array,…
rmosolgo Jul 17, 2026
321b2d7
Merge task spawning code in AsyncDataloader
rmosolgo Jul 17, 2026
f392cef
Put pending_sources array back, merge spawn_task into caller
rmosolgo Jul 17, 2026
5bfae85
Skip lint
rmosolgo Jul 17, 2026
726ff88
Clean up some internal APIs
rmosolgo Jul 17, 2026
2fe9a62
Remove needless method
rmosolgo Jul 17, 2026
8e8bf89
Use sequential calls instead of yield with next_lazies
rmosolgo Jul 17, 2026
eb230f8
Move spawn_tasks back to a method to preserve reference to pending_work
rmosolgo Jul 17, 2026
741e379
Correctly handle UnauthorizedErrors raised by Resolvers in Execution:…
rmosolgo Jul 17, 2026
84ba69c
Bump actions/setup-node from 6 to 7
dependabot[bot] Jul 20, 2026
ac63800
Merge commit from fork
rmosolgo Jul 21, 2026
dd6f3f3
Merge pull request #5672 from rmosolgo/async-dataloader-error-handling
rmosolgo Jul 21, 2026
011203d
Merge pull request #5673 from ydah/fix-operation-directive-finalizer
rmosolgo Jul 21, 2026
9548947
2.6.6
rmosolgo Jul 21, 2026
8aab2ae
Merge pull request #5676 from rmosolgo/dependabot/github_actions/acti…
rmosolgo Jul 21, 2026
a824a8a
Defer selection step enqueueing
ydah Jul 22, 2026
092831c
Merge pull request #5675 from ydah/fix-selections-step-duplicate-enqueue
rmosolgo Jul 22, 2026
1e0f06c
Merge pull request #5674 from ydah/fix-relay-subscription-error-forwa…
rmosolgo Jul 23, 2026
7e420bc
js-1.15.2
rmosolgo Jul 23, 2026
1e4d27f
Fix O(n^2) transitive interface check in Schema.from_definition
vahe Jul 23, 2026
07e5e88
Merge pull request #5678 from vahe/fix/transitive-interface-check-perf
rmosolgo Jul 24, 2026
e3ebf2f
AsyncDataloader: refactor job accounting
rmosolgo Jul 28, 2026
abb2e43
Merge pull request #5679 from rmosolgo/async-dataloader-activity-ticker
rmosolgo Jul 28, 2026
fda265b
2.6.7
rmosolgo Jul 28, 2026
ead3a1b
Add GitHub Actions linting CI
ydah Jul 28, 2026
f794520
Add YYSTACK_USE_ALLOCA 1
rmosolgo Jul 31, 2026
1b5e481
Merge commit from fork
rmosolgo Aug 3, 2026
47db2d6
c-parser 1.1.4
rmosolgo Aug 3, 2026
425e250
pro-1.30.2
rmosolgo Aug 3, 2026
149da1a
Bump brace-expansion in /javascript_client
dependabot[bot] Aug 3, 2026
3a7d7f8
Merge pull request #5681 from rmosolgo/dependabot/npm_and_yarn/javasc…
rmosolgo Aug 3, 2026
2458407
Merge pull request #5680 from ydah/add-actions-lint-ci
rmosolgo Aug 3, 2026
1d0bc33
Bump shogo82148/actions-setup-redis from 1.55.0 to 1.56.0
dependabot[bot] Aug 3, 2026
cf0e116
Handle SystemStackError during query execution
ydah Aug 4, 2026
f663827
Load mounted routes before integration tests
ydah Aug 4, 2026
942939a
Merge pull request #5684 from ydah/fix-load-mounted-routes-before-int…
rmosolgo Aug 6, 2026
77f2d7d
Merge pull request #5683 from ydah/fix-execution-system-stack-error
rmosolgo Aug 6, 2026
a5cb0c9
Merge pull request #5682 from rmosolgo/dependabot/github_actions/shog…
rmosolgo Aug 6, 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"
42 changes: 42 additions & 0 deletions .github/workflows/actions-lint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Lint GitHub Actions

on:
pull_request:
push:
branches:
- master

permissions: {}

jobs:
actionlint:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Run actionlint
uses: docker://rhysd/actionlint:1.7.12
with:
args: -color

zizmor:
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Run zizmor
uses: zizmorcore/zizmor-action@6fc4b006235f201fdab3722e17240ab420d580e5 # v0.6.1
with:
advanced-security: false
annotations: true
min-severity: high
version: 1.28.0
47 changes: 0 additions & 47 deletions .github/workflows/apidocs.yaml

This file was deleted.

137 changes: 79 additions & 58 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -1,36 +1,43 @@
name: CI Suite
on:
- push
- pull_request

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1.321.0
with:
ruby-version: 2.6
ruby-version: 3.4
bundler-cache: true
- run: bundle exec rake rubocop
- run: npx @herb-tools/linter@0.8.10
system_tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
- uses: shogo82148/actions-setup-redis@3e38d435ea02619c76909c929ecc501806c7145e # v1.56.0
with:
ruby-version: 2.6
redis-version: "7.x"
- run: redis-cli ping
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1.321.0
with:
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,54 +47,65 @@ 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_future: 1
- gemfile: gemfiles/rails_8.1.gemfile
ruby: 4.0
graphql_future: 1
redis: 1
- gemfile: gemfiles/rails_master.gemfile
ruby: truffleruby-head
ruby: 3.4
graphql_future: 1
isolation_level_fiber: 1
redis: 1
runs-on: ubuntu-latest
steps:
- run: echo BUNDLE_GEMFILE=${{ matrix.gemfile }} > $GITHUB_ENV
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
- run: echo BUNDLE_GEMFILE=${{ matrix.gemfile }} > "$GITHUB_ENV"
- run: echo GRAPHQL_FUTURE=1 > "$GITHUB_ENV"
if: ${{ !!matrix.graphql_future }}
- run: echo ISOLATION_LEVEL_FIBER=1 > "$GITHUB_ENV"
if: ${{ !!matrix.isolation_level_fiber }}
- uses: shogo82148/actions-setup-redis@3e38d435ea02619c76909c929ecc501806c7145e # v1.56.0
with:
redis-version: "7.x"
if: ${{ !!matrix.redis }}
- run: redis-cli ping
if: ${{ !!matrix.redis }}
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1.321.0
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
ruby-version: 2.7
bundler-cache: true
- run: bundle exec rake js:all
node-version: latest
- 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
image: postgres:18.4@sha256:3a82e1f56c8f0f5616a11103ac3d47e632c3938698946a7ad26da0df1334744a
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
Expand All @@ -101,33 +119,36 @@ jobs:
--health-timeout 5s
--health-retries 5
steps:
- run: echo BUNDLE_GEMFILE='gemfiles/rails_5.2_postgresql.gemfile' > $GITHUB_ENV
- run: echo DATABASE='POSTGRESQL' > $GITHUB_ENV
- run: echo PGPASSWORD='postgres' > $GITHUB_ENV
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
- run: echo BUNDLE_GEMFILE='' > "$GITHUB_ENV"
- run: echo DATABASE='POSTGRESQL' > "$GITHUB_ENV"
- run: echo PGPASSWORD='postgres' > "$GITHUB_ENV"
- run: echo GRAPHQL_CPARSER=1 > "$GITHUB_ENV"
- run: echo ISOLATION_LEVEL_FIBER=1 > "$GITHUB_ENV"
if: ${{ !!matrix.isolation_level_fiber }}
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1.321.0
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:8.2.12@sha256:e0ce8c35124d4a9f9785532d1f268f39e9728ffa1cb38f46fa482436424c4bd3
ports:
- 27017:27017
steps:
- run: echo BUNDLE_GEMFILE=${{ matrix.gemfile }} > $GITHUB_ENV
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
- run: echo BUNDLE_GEMFILE=${{ matrix.gemfile }} > "$GITHUB_ENV"
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1.321.0
with:
ruby-version: 2.7
ruby-version: 3.4
bundler-cache: true
- run: bundle exec rake test
- run: bundle exec rake compile test
31 changes: 31 additions & 0 deletions .github/workflows/pronto.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Pronto
on: # zizmor: ignore[dangerous-triggers] Runs trusted base-branch code to report on pull requests.
- pull_request_target

permissions: {}

jobs:
pronto:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- run: echo BUNDLE_GEMFILE=gemfiles/pronto.gemfile > "$GITHUB_ENV"
- name: Checkout code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
ref: ${{ github.event.pull_request.base.sha }}
- run: git fetch --no-tags --prune --unshallow origin +refs/heads/*:refs/remotes/origin/*
- name: Setup Ruby
uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1.321.0
with:
ruby-version: 3.4
bundler-cache: true
- name: Run Pronto
run: bundle exec pronto run -f github_pr -c "origin/${BASE_REF}"
env:
BASE_REF: ${{ github.base_ref }}
PRONTO_PULL_REQUEST_ID: ${{ github.event.pull_request.number }}
PRONTO_GITHUB_ACCESS_TOKEN: "${{ github.token }}"
Loading