Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1306 commits
Select commit Hold shift + click to select a range
fb4f6a9
Fix merge
apiology Dec 31, 2025
dadf38f
Adjust annotations
apiology Dec 31, 2025
6e4beb7
Merge remote-tracking branch 'origin/master' into fix_directive_combi…
apiology Dec 31, 2025
0860447
Fix typecheck errors
apiology Dec 31, 2025
8d1a96a
Fix merge
apiology Dec 31, 2025
88591aa
Fix merge
apiology Dec 31, 2025
4663e7d
Fix some @sg-ignores
apiology Dec 31, 2025
a48c40a
Fix merge
apiology Dec 31, 2025
76341f0
Merge branch 'intersection_types' into flow_sensitive_typing_2_0
apiology Dec 31, 2025
23e970e
Merge branch 'intersection_types' into flow_sensitive_typing_2_0
apiology Dec 31, 2025
a2ce95f
Fix RuboCop issue
apiology Dec 31, 2025
8b0cbf8
Fix type issues
apiology Dec 31, 2025
7cb629b
Fix type issues
apiology Dec 31, 2025
63832df
Fix rspec.yml
apiology Dec 31, 2025
704e97c
Fix rspec.yml
apiology Dec 31, 2025
21f05ec
Add @sg-ignores
apiology Dec 31, 2025
faf9049
Merge branch 'local_variable_probiing' into or_support_in_flow_sensit…
apiology Dec 31, 2025
4fb3c6c
Merge branch 'stricter_unions' into or_support_in_flow_sensitive_typing
apiology Dec 31, 2025
11ffcae
Merge branch 'flow_sensitive_typing_2_0' into or_support_in_flow_sens…
apiology Dec 31, 2025
103ed36
Remove @sg-ignores
apiology Dec 31, 2025
12c36b0
Merge branch 'reduce_num_of_buid_jobs' into union_type_enforcement
apiology Dec 31, 2025
7b745fb
Merge branch 'or_support_in_flow_sensitive_typing' into union_type_en…
apiology Dec 31, 2025
a93dd3f
Merge branch 'or_support_in_flow_sensitive_typing' into union_type_en…
apiology Dec 31, 2025
6f3c459
Fix spec
apiology Dec 31, 2025
dc3cb9c
Fix annotations
apiology Dec 31, 2025
a612241
Fix RuboCop issues
apiology Dec 31, 2025
2b753e8
Bump RBS versions in rspec test
apiology Dec 31, 2025
e182a53
Fix version
apiology Dec 31, 2025
34cdf78
Fix version matrix
apiology Dec 31, 2025
851d142
Fix version matrix
apiology Dec 31, 2025
e2d27c9
Fix version matrix
apiology Dec 31, 2025
8df808a
Fix version matrix
apiology Dec 31, 2025
9974481
Fix version matrix
apiology Dec 31, 2025
56e2535
Exclude another
apiology Dec 31, 2025
d9e4936
Exclude another
apiology Dec 31, 2025
7514302
Add version, fix doc
apiology Dec 31, 2025
935bc9c
init -> config
apiology Dec 31, 2025
05265b9
Fix rbs-version for Ruby 4.0 in CI workflow
apiology Jan 1, 2026
58737d7
Clean up ruby-version entries in rspec.yml
apiology Jan 1, 2026
b5d1157
Fix RBS version for Ruby 4.0 in workflow
apiology Jan 1, 2026
0cf1a1e
Merge branch 'reduce_num_of_buid_jobs' into or_support_in_flow_sensit…
apiology Jan 1, 2026
e64e643
Merge branch 'reduce_num_of_buid_jobs' into local_variable_probiing
apiology Jan 1, 2026
9846751
Merge remote-tracking branch 'origin/master' into local_variable_prob…
apiology Jan 1, 2026
105a067
Merge remote-tracking branch 'origin/master' into generic_typecheckin…
apiology Jan 1, 2026
5ed2920
Merge branch 'reduce_num_of_buid_jobs' into generic_typechecking_impr…
apiology Jan 1, 2026
c2aafb5
Merge branch 'generic_typechecking_improvements' into stricter_unions
apiology Jan 1, 2026
db36785
Fix merge
apiology Jan 1, 2026
27c4341
Merge branch 'reduce_num_of_buid_jobs' into intersection_types
apiology Jan 1, 2026
a907a62
Merge remote-tracking branch 'origin/master' into intersection_types
apiology Jan 1, 2026
c8bdfb7
Merge branch 'intersection_types' of apiology.github.com:apiology/sol…
apiology Jan 1, 2026
e1b1da6
Merge branch 'intersection_types' into flow_sensitive_typing_2_0
apiology Jan 1, 2026
001e6ad
Merge branch 'stricter_unions' into or_support_in_flow_sensitive_typing
apiology Jan 1, 2026
fe1c9f3
Merge branch 'local_variable_probiing' into or_support_in_flow_sensit…
apiology Jan 1, 2026
94a3e77
Merge branch 'flow_sensitive_typing_2_0' into or_support_in_flow_sens…
apiology Jan 1, 2026
7957a93
Merge branch 'extract_gemspecs_logic_from_doc_map' into improve_gemsp…
apiology Jan 1, 2026
c6cabdc
Merge branch 'message_spies_linting' into improve_gemspecs_logic
apiology Jan 1, 2026
e5dd07b
Merge remote-tracking branch 'origin/master' into improve_gemspecs_logic
apiology Jan 1, 2026
8282485
Merge branch 'reduce_num_of_buid_jobs' into extract_gemspecs_logic_fr…
apiology Jan 1, 2026
a30c561
Merge remote-tracking branch 'origin/master' into extract_gemspecs_lo…
apiology Jan 1, 2026
4528697
Merge remote-tracking branch 'origin/master' into fix_directive_combi…
apiology Jan 1, 2026
944d425
Merge branch 'fix_directive_combination_issue' of apiology.github.com…
apiology Jan 1, 2026
af41798
Merge remote-tracking branch 'origin/master' into remove_dead_file
apiology Jan 1, 2026
843817f
Merge branch 'stricter_unions' into union_type_enforcement
apiology Jan 1, 2026
3b58706
Merge remote-tracking branch 'origin/master' into pin_cache_refactor
apiology Jan 1, 2026
5117745
Merge remote-tracking branch 'origin/master' into try_again_removing_…
apiology Jan 1, 2026
d3fa03f
Merge remote-tracking branch 'origin/master' into doc_improvements
apiology Jan 1, 2026
be7ea1d
Merge remote-tracking branch 'origin/master' into pin_infer_assertion
apiology Jan 1, 2026
01f78a0
Merge remote-tracking branch 'origin/master' into method_alias_assert…
apiology Jan 1, 2026
f02a6e0
Merge remote-tracking branch 'origin/master' into fix_assignment_hand…
apiology Jan 1, 2026
30818ab
Merge remote-tracking branch 'origin/master' into cache_uncache_gem
apiology Jan 1, 2026
5f56c45
Merge remote-tracking branch 'origin/master' into add_regression_specs
apiology Jan 1, 2026
4aaf0be
Merge branch 'reduce_num_of_buid_jobs' into pin_cache_refactor
apiology Jan 1, 2026
51f443f
Merge branch 'reduce_num_of_buid_jobs' into improve_gemspecs_logic
apiology Jan 1, 2026
977b183
Improve signature combination
apiology Jan 2, 2026
82024fe
Merge branch 'better_signature_combination' into union_type_enforcement
apiology Jan 2, 2026
1587a81
Update annotations
apiology Jan 2, 2026
81927c8
Drop annotation
apiology Jan 2, 2026
1b93144
Fix RuboCop issue
apiology Jan 2, 2026
1f0c11d
Fix merge
apiology Jan 2, 2026
25b1148
Don't use solargraph-rspec branch
apiology Jan 2, 2026
f44141c
Fix merge
apiology Jan 2, 2026
9798505
Debug
apiology Jan 2, 2026
20e9649
Merge branch 'try_again_removing_node_modules_stubs' into pin_cache_r…
apiology Jan 2, 2026
93d8e53
Merge remote-tracking branch 'origin/master' into pin_cache_refactor
apiology Jan 2, 2026
5edcd2d
Add another use of stdlib dependencies in RBS
apiology Jan 2, 2026
8320f5b
Mock additional call
apiology Jan 2, 2026
6730e8f
Fix annotations
apiology Jan 2, 2026
9a88f53
Update types in rspec undercover
apiology Jan 2, 2026
00c2947
Debug
apiology Jan 2, 2026
5df17d5
Debug
apiology Jan 2, 2026
fe3f4f2
Merge remote-tracking branch 'origin/master' into improve_gemspecs_logic
apiology Jan 2, 2026
c22e310
Drop incorrect rbs collection use in spec
apiology Jan 2, 2026
e70af06
Merge branch 'pin_cache_refactor' into improve_solargraph_gems
apiology Jan 2, 2026
1842129
Merge branch 'master' into extract_gemspecs_logic_from_doc_map
apiology Jan 2, 2026
0d6b68b
Update rubocop todo
apiology Jan 2, 2026
2ddeefb
Merge branch 'union_type_enforcement' into union_type_enforcement_ivars
apiology Jan 2, 2026
d5d619e
Revert change
apiology Jan 3, 2026
8c42ebe
Fix RuboCop issue
apiology Jan 3, 2026
552e024
Fix annotations
apiology Jan 3, 2026
0f6862b
Fix annotations
apiology Jan 3, 2026
49b6338
RuboCop fix
apiology Jan 3, 2026
40a915f
Use "type arity" to guide signature combination
apiology Jan 3, 2026
11bf987
Update rubocop todo
apiology Jan 3, 2026
72131e8
Include return type arity in comparison
apiology Jan 3, 2026
334f4e0
Add dodgy return type
apiology Jan 3, 2026
a2e5964
Fix RuboCop issue
apiology Jan 3, 2026
5ba6b74
Merge branch 'better_signature_combination' into union_type_enforcement
apiology Jan 3, 2026
1dedc03
Merge branch 'union_type_enforcement' into union_type_enforcement_ivars
apiology Jan 3, 2026
0ac3cb4
Add Ruby 4.0 jobs
apiology Jan 4, 2026
3e3e4d9
Exclude another combo
apiology Jan 4, 2026
c7eefc2
Exclude another combo
apiology Jan 4, 2026
da2bf68
Merge branch 'reduce_num_of_buid_jobs' into generic_typechecking_impr…
apiology Jan 4, 2026
c0a8370
Merge branch 'generic_typechecking_improvements' into stricter_unions
apiology Jan 4, 2026
eafd807
Merge branch 'castwide:master' into stricter_unions
apiology Jan 4, 2026
94d17a2
Merge remote-tracking branch 'origin/master' into stricter_unions
apiology Jan 4, 2026
6e6e85d
Update rules to use report?
apiology Jan 4, 2026
fc3f645
Merge branch 'stricter_unions' of apiology.github.com:apiology/solarg…
apiology Jan 4, 2026
79a2b2a
Fix merge
apiology Jan 4, 2026
60df579
Fix merge
apiology Jan 4, 2026
0e706d7
Merge remote-tracking branch 'origin/master' into reduce_num_of_buid_…
apiology Jan 4, 2026
5bc6855
Merge remote-tracking branch 'origin/master' into add_regression_specs
apiology Jan 4, 2026
f7c5b44
Merge branch 'reduce_num_of_buid_jobs' into add_regression_specs
apiology Jan 4, 2026
cbb5511
Merge branch 'reduce_num_of_buid_jobs' into fix_assignment_handling
apiology Jan 4, 2026
d0b6d40
Merge branch 'reduce_num_of_buid_jobs' into extract_gemspecs_logic_fr…
apiology Jan 5, 2026
caa81d4
Drop dead code
apiology Jan 5, 2026
71931c5
Merge branch 'extract_gemspecs_logic_from_doc_map' of apiology.github…
apiology Jan 5, 2026
bf63f56
Merge branch 'reduce_num_of_buid_jobs' into better_signature_combination
apiology Jan 5, 2026
6e9fbfc
Merge branch 'extract_gemspecs_logic_from_doc_map' into improve_gemsp…
apiology Jan 5, 2026
2bca05a
Merge branch 'remove_dead_file' into 2025-01-05
apiology Jan 5, 2026
b8cc1ce
Merge branch 'reduce_num_of_buid_jobs' into 2025-01-05
apiology Jan 5, 2026
a536001
Merge branch 'doc_improvements' into 2025-01-05
apiology Jan 5, 2026
4c6a84e
Bump version to 0.59.0.dev.1
apiology Jan 6, 2026
23891c2
Merge branch 'fix_assignment_handling' into 2025-01-05
apiology Jan 6, 2026
494b295
Rename rule
apiology Jan 6, 2026
bfba515
Merge branch 'extract_gemspecs_logic_from_doc_map' into 2025-01-05
apiology Jan 6, 2026
6c35bdf
Merge branch 'generic_typechecking_improvements' into 2025-01-05
apiology Jan 6, 2026
4b3f9fb
Merge branch 'stricter_unions' into 2025-01-05
apiology Jan 6, 2026
0ccfcb0
Update RuboCop todo file
apiology Jan 6, 2026
df3d81a
Merge remote-tracking branch 'origin/master' into method_alias_assert…
apiology Jan 6, 2026
c8f4751
Update RuboCop todo file
apiology Jan 6, 2026
56b8087
Merge branch 'method_alias_assertions' into 2025-01-05
apiology Jan 6, 2026
4f16771
Ratchet rubocop TODO file
apiology Jan 6, 2026
1e0c0bf
Merge branch 'pin_infer_assertion' into 2025-01-05
apiology Jan 6, 2026
d06b9f7
Merge branch 'add_regression_specs' into 2025-01-05
apiology Jan 6, 2026
7ab8514
Move to skip:
apiology Jan 6, 2026
3f1d1e5
Mark spec as pending
apiology Jan 6, 2026
71f609c
Revert spec change
apiology Jan 6, 2026
60929ad
Merge remote-tracking branch 'origin/master' into intersection_types
apiology Jan 6, 2026
ba4f63e
Drop old workaround
apiology Jan 6, 2026
faa09e2
Merge branch 'intersection_types' into 2025-01-05
apiology Jan 6, 2026
3296a3c
Fix merge
apiology Jan 7, 2026
2a105fe
Merge branch 'better_signature_combination' into 2025-01-06
apiology Jan 7, 2026
522e07b
Merge branch 'pin_cache_refactor' into 2025-01-06
apiology Jan 7, 2026
f376a9b
Fix typechecking issues
apiology Jan 7, 2026
3c947d2
Revert doc
apiology Jan 7, 2026
19b28ad
Fix spelling
apiology Jan 7, 2026
6b5d2c3
Fix merge issue
apiology Jan 7, 2026
dec5e39
Merge branch 'improve_gemspecs_logic' into 2025-01-06
apiology Jan 7, 2026
b826d83
Exclude the current gemspec from pins brought in from gem
apiology Jan 8, 2026
c952002
Check pathname instead
apiology Jan 8, 2026
bcebe89
Add sg-ignore
apiology Jan 8, 2026
267c445
Avoid rbs pollution
apiology Jan 9, 2026
a5ecc28
Test with RBS 4.0.0.dev.5
apiology Jan 9, 2026
dd32db0
Merge branch 'reduce_num_of_buid_jobs' into rbs_gem_update
apiology Jan 9, 2026
47d749b
Open up in gemspec
apiology Jan 9, 2026
0a724ef
Fix missing spot
apiology Jan 9, 2026
2b7a786
Typecheck using RBS prereleases
apiology Jan 9, 2026
44543d4
Move point of ignoring cached gems for gem projects
apiology Jan 9, 2026
43c50ae
Merge branch 'avoid_rbs_pollution' into 2025-01-05
apiology Jan 9, 2026
8b9eae3
Merge branch '2025-01-05' into 2025-01-06
apiology Jan 9, 2026
c4a91f4
Fix issues resolving cgi escape functions
apiology Jan 10, 2026
02151a5
Be more careful marking things as stdlib
apiology Jan 10, 2026
14a8468
Reclassify rbs gem
apiology Jan 10, 2026
afa808b
Merge branch 'pin_cache_refactor' into 2025-01-06
apiology Jan 10, 2026
d5668fe
Fix merge
apiology Jan 10, 2026
93e410e
Merge branch 'avoid_rbs_pollution' into rbs_gem_update
apiology Jan 10, 2026
cde1073
Add sg-ignore
apiology Jan 10, 2026
e155ffa
Fix merge
apiology Jan 10, 2026
3ec765b
Merge remote-tracking branch 'origin/master' into fix_directive_combi…
apiology Jan 10, 2026
367b890
Merge branch 'fix_directive_combination_issue' into 2025-01-06
apiology Jan 10, 2026
b0b8368
Merge branch 'pin_cache_refactor' into improve_solargraph_gems
apiology Jan 10, 2026
f7816a6
Merge branch 'rbs_gem_update' into 2025-01-06
apiology Jan 10, 2026
d8dfcc0
Remove outdated workaround
apiology Jan 10, 2026
92f2313
Merge branch 'improve_solargraph_gems' into 2025-01-06
apiology Jan 10, 2026
4b92af3
Merge remote-tracking branch 'origin/master' into flow_sensitive_typi…
apiology Jan 10, 2026
0fad08f
Fix @sg-ignore name
apiology Jan 10, 2026
8cba48d
Merge branch 'intersection_types' into flow_sensitive_typing_2_0
apiology Jan 10, 2026
8656254
Restore workaround
apiology Jan 10, 2026
236734e
Restore workaround
apiology Jan 10, 2026
2018b83
Merge branch 'flow_sensitive_typing_2_0' into 2025-01-06
apiology Jan 10, 2026
a575014
Merge branch 'flow_sensitive_typing_2_0' into 2025-01-06
apiology Jan 11, 2026
16506e8
Fix method signature
apiology Jan 11, 2026
740db4e
Fix annotations
apiology Jan 11, 2026
4d1c21a
Add regression test and fix for issue found during future merge
apiology Jan 11, 2026
10a3355
Merge branch 'flow_sensitive_typing_2_0' into 2025-01-06
apiology Jan 11, 2026
29da3af
Add regression test and fix for issue found during future merge
apiology Jan 11, 2026
e53ad5a
Merge branch 'flow_sensitive_typing_2_0' into 2025-01-06
apiology Jan 11, 2026
170d8c8
Merge remote-tracking branch 'origin/master' into local_variable_prob…
apiology Jan 11, 2026
cf8c4df
Merge branch 'local_variable_probiing' into 2025-01-06
apiology Jan 11, 2026
29287ef
Merge branch 'local_variable_probiing' into or_support_in_flow_sensit…
apiology Jan 11, 2026
002c7b6
Merge branch 'stricter_unions' into or_support_in_flow_sensitive_typing
apiology Jan 11, 2026
9f9f775
Merge branch 'flow_sensitive_typing_2_0' into or_support_in_flow_sens…
apiology Jan 11, 2026
ab4d357
Merge branch '2025-01-06' into or_support_in_flow_sensitive_typing_merge
apiology Jan 11, 2026
b7b31a9
Fix merge
apiology Jan 11, 2026
9ac6e93
Fix merge
apiology Jan 11, 2026
1ee3f28
Merge pull request #25 from apiology/or_support_in_flow_sensitive_typ…
apiology Jan 11, 2026
099aea1
Merge remote-tracking branch 'origin/2025-01-06' into union_type_enfo…
apiology Jan 11, 2026
861fc02
Fix merge
apiology Jan 11, 2026
25691de
Fix merge
apiology Jan 11, 2026
e0deadf
Use correct field for self type resolution
apiology Jan 11, 2026
dbcd966
Fix 'solargraph pin --references ClassName' private method call
apiology Jan 11, 2026
4f4b6a0
Add error handling
apiology Jan 11, 2026
6456a8c
Merge branch 'improve_gemspecs_logic' into 2025-01-06
apiology Jan 11, 2026
7e23cee
Merge branch 'fix_shell_pin_references_method' into 2025-01-06
apiology Jan 11, 2026
176b506
Fix another location with another test case
apiology Jan 11, 2026
6531096
Merge branch 'resolve_self_correctly' into 2025-01-06
apiology Jan 11, 2026
45ea895
Drop now-unneeded @sg-ignore
apiology Jan 11, 2026
4366394
Merge branch 'resolve_self_correctly' into 2025-01-06
apiology Jan 11, 2026
92286c1
Don't log caching for each dependent library
apiology Jan 11, 2026
2e316d5
Drop logging entirely
apiology Jan 11, 2026
9dd6485
Merge branch '2025-01-06' into union_type_enforcement_merge
apiology Jan 12, 2026
458efed
Fix some types based on future branch feedback
apiology Jan 12, 2026
f10d17d
Merge branch 'improve_gemspecs_logic' into 2025-01-06
apiology Jan 12, 2026
3c96036
Merge branch '2025-01-06' into union_type_enforcement_merge
apiology Jan 12, 2026
45e5eca
Provide Gem::Specification to outside interface
apiology Jan 12, 2026
2d5456a
Provide Gem::Specification to outside interface
apiology Jan 12, 2026
4ce641d
Use #to_spec
apiology Jan 12, 2026
aa99710
Provide Gem::Specification to outside interface
apiology Jan 12, 2026
d9188e7
Fix typechecking error
apiology Jan 12, 2026
8eea21f
Use consistent bundler versions
apiology Jan 12, 2026
d8f9006
Merge branch 'improve_gemspecs_logic' into 2025-01-06
apiology Jan 12, 2026
ad6ee19
Fix type issue
apiology Jan 12, 2026
f54304e
Merge branch '2025-01-06' into union_type_enforcement_merge
apiology Jan 12, 2026
f88875c
Fix annotations based on future branch feedback
apiology Jan 12, 2026
9268eae
Add some @todos
apiology Jan 12, 2026
7f66b20
Merge branch 'pin_cache_refactor' into 2025-01-06
apiology Jan 12, 2026
0d00ac7
Merge branch '2025-01-06' into union_type_enforcement_merge
apiology Jan 12, 2026
e9f83e6
Fix annotations
apiology Jan 12, 2026
0a52fef
Fix annotations
apiology Jan 12, 2026
91e2491
Fix annotation
apiology Jan 12, 2026
b270c48
Add diff::lcs shim
apiology Jan 12, 2026
f301760
Merge branch '2025-01-12' into union_type_enforcement_ivars_merge
apiology Jan 12, 2026
7c35136
Improve spec expectations
apiology Jan 12, 2026
a78d58d
Add @sg-ignore
apiology Jan 12, 2026
d6ac342
Fix rspec checks to run on all types of PRs
apiology Jan 12, 2026
c5dbf24
Fix merge
apiology Jan 12, 2026
e4aac59
Merge remote-tracking branch 'origin/master' into cache_uncache_gem
apiology Jan 12, 2026
2d8f79c
Merge branch 'cache_uncache_gem' into cache_uncache_gem_merge_2
apiology Jan 12, 2026
40b62b4
Fix merge
apiology Jan 12, 2026
b9ebd26
Fix merge
apiology Jan 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# current git branch
SOLARGRAPH_FORCE_VERSION=0.0.1.dev-$(git rev-parse --abbrev-ref HEAD | tr -d '\n' | tr -d '/' | tr -d '-'| tr -d '_')
export SOLARGRAPH_FORCE_VERSION
9 changes: 4 additions & 5 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ name: Linting
on:
workflow_dispatch: {}
pull_request:
branches: [ master ]
branches: ['*']
push:
branches:
- 'main'
- 'master'
tags:
- 'v*'

Expand All @@ -31,13 +31,12 @@ jobs:
- uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
bundler: latest
bundler-cache: true
cache-version: 2025-06-06
cache-version: 2026-01-11

- name: Update to best available RBS
run: |
bundle update rbs # use latest available for this Ruby version
bundle update --pre rbs # use latest available for this Ruby version

- name: Restore cache of gem annotations
id: dot-cache-restore
Expand Down
76 changes: 40 additions & 36 deletions .github/workflows/plugins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
push:
branches: [master]
pull_request:
branches: [master]
branches: ['*']

permissions:
contents: read
Expand All @@ -23,7 +23,7 @@ jobs:
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
ruby-version: 3.4 # keep same as typecheck.yml
bundler-cache: true
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
Expand All @@ -34,7 +34,7 @@ jobs:
echo 'gem "solargraph-rails"' > .Gemfile
echo 'gem "solargraph-rspec"' >> .Gemfile
bundle install
bundle update rbs
bundle update --pre rbs
- name: Configure to use plugins
run: |
bundle exec solargraph config
Expand All @@ -43,7 +43,7 @@ jobs:
- name: Install gem types
run: bundle exec rbs collection update
- name: Ensure typechecking still works
run: bundle exec solargraph typecheck --level typed
run: bundle exec solargraph typecheck --level strong
- name: Ensure specs still run
run: bundle exec rake spec
rails:
Expand All @@ -54,7 +54,9 @@ jobs:
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
ruby-version: 3.4 # keep same as typecheck.yml
# See https://github.com/castwide/solargraph/actions/runs/19000135777/job/54265647107?pr=1119
rubygems: latest
bundler-cache: false
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
Expand All @@ -64,15 +66,15 @@ jobs:
run: |
echo 'gem "solargraph-rails"' > .Gemfile
bundle install
bundle update rbs
bundle update --pre rbs
- name: Configure to use plugins
run: |
bundle exec solargraph config
yq -yi '.plugins += ["solargraph-rails"]' .solargraph.yml
- name: Install gem types
run: bundle exec rbs collection update
- name: Ensure typechecking still works
run: bundle exec solargraph typecheck --level typed
run: bundle exec solargraph typecheck --level strong
- name: Ensure specs still run
run: bundle exec rake spec
rspec:
Expand All @@ -83,7 +85,7 @@ jobs:
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
ruby-version: 3.4 # keep same as typecheck.yml
bundler-cache: false
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
Expand All @@ -93,15 +95,15 @@ jobs:
run: |
echo 'gem "solargraph-rspec"' >> .Gemfile
bundle install
bundle update rbs
bundle update --pre rbs
- name: Configure to use plugins
run: |
bundle exec solargraph config
yq -yi '.plugins += ["solargraph-rspec"]' .solargraph.yml
- name: Install gem types
run: bundle exec rbs collection update
- name: Ensure typechecking still works
run: bundle exec solargraph typecheck --level typed
run: bundle exec solargraph typecheck --level strong
- name: Ensure specs still run
run: bundle exec rake spec

Expand All @@ -116,47 +118,47 @@ jobs:
- name: clone https://github.com/lekemula/solargraph-rspec/
run: |
cd ..
# git clone https://github.com/lekemula/solargraph-rspec.git
git clone https://github.com/lekemula/solargraph-rspec.git

# pending https://github.com/lekemula/solargraph-rspec/pull/30
git clone https://github.com/apiology/solargraph-rspec.git
cd solargraph-rspec
git checkout reset_closures
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1'
ruby-version: 3.4
rubygems: latest
bundler-cache: false
- name: Install gems
run: |
set -x
set -x

cd ../solargraph-rspec
echo "gem 'solargraph', path: '../solargraph'" >> Gemfile
bundle config path ${{ env.BUNDLE_PATH }}
bundle install --jobs 4 --retry 3
bundle exec appraisal install
# @todo some kind of appraisal/bundle conflict?
# https://github.com/castwide/solargraph/actions/runs/19038710934/job/54369767122?pr=1116
# /home/runner/work/solargraph/solargraph-rspec/vendor/bundle/ruby/3.1.0/gems/bundler-2.6.9/lib/bundler/runtime.rb:317:in
# `check_for_activated_spec!': You have already activated date
# 3.5.0, but your Gemfile requires date 3.4.1. Prepending
# `bundle exec` to your command may solve
# this. (Gem::LoadError)
bundle exec appraisal update date
# For some reason on ruby 3.1 it defaults to an old version: 1.3.2
# https://github.com/lekemula/solargraph-rspec/actions/runs/17814581205/job/50645370316?pr=22
# We update manually to the latest
bundle exec appraisal update rspec-rails
cd ../solargraph-rspec
echo "gem 'solargraph', path: '../solargraph'" >> Gemfile
bundle config path ${{ env.BUNDLE_PATH }}
bundle install --jobs 4 --retry 3
bundle exec appraisal install
# @todo some kind of appraisal/bundle conflict?
# https://github.com/castwide/solargraph/actions/runs/19038710934/job/54369767122?pr=1116
# /home/runner/work/solargraph/solargraph-rspec/vendor/bundle/ruby/3.1.0/gems/bundler-2.6.9/lib/bundler/runtime.rb:317:in
# `check_for_activated_spec!': You have already activated date
# 3.5.0, but your Gemfile requires date 3.4.1. Prepending
# `bundle exec` to your command may solve
# this. (Gem::LoadError)
bundle exec appraisal update date
# For some reason on ruby 3.1 it defaults to an old version: 1.3.2
# https://github.com/lekemula/solargraph-rspec/actions/runs/17814581205/job/50645370316?pr=22
# We update manually to the latest
bundle exec appraisal update rspec-rails
- name: Configure .solargraph.yml
run: |
cd ../solargraph-rspec
cp .solargraph.yml.example .solargraph.yml
- name: Solargraph generate RSpec gems YARD and RBS pins
- name: Solargraph generate RSpec gems YARD pins
run: |
cd ../solargraph-rspec
bundle exec appraisal rbs collection update
# solargraph-rspec's specs don't pass a workspace, so it
# doesn't know where to look for the RBS collection - let's
# not load one so that the solargraph gems command below works

rspec_gems=$(bundle exec appraisal ruby -r './lib/solargraph-rspec' -e 'puts Solargraph::Rspec::Gems.gem_names.join(" ")' 2>/dev/null | tail -n1)
bundle exec appraisal solargraph gems $rspec_gems
- name: Run specs
Expand All @@ -180,6 +182,8 @@ jobs:
# solargraph-rails supports Ruby 3.0+
ruby-version: '3.0'
bundler-cache: false
# https://github.com/apiology/solargraph/actions/runs/19400815835/job/55508092473?pr=17
rubygems: latest
bundler: latest
env:
MATRIX_RAILS_VERSION: "7.0"
Expand All @@ -191,7 +195,7 @@ jobs:
cd ../solargraph-rails
echo "gem 'solargraph', path: '${GITHUB_WORKSPACE:?}'" >> Gemfile
bundle install
bundle update rbs
bundle update --pre rbs
RAILS_DIR="$(pwd)/spec/rails7"
export RAILS_DIR
cd ${RAILS_DIR}
Expand Down
58 changes: 45 additions & 13 deletions .github/workflows/rspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
branches: ['*']

permissions:
contents: read
Expand All @@ -21,20 +21,49 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
ruby-version: ['3.0', '3.1', '3.2', '3.3', '3.4', '4.0']
rbs-version: ['3.6.1', '3.9.5', '4.0.0.dev.4']
ruby-version: ['3.0', '3.1', '3.2', '3.3', '3.4', '4.0', 'head']
rbs-version: ['3.6.1', '3.8.1', '3.9.5', '3.10.0', '4.0.0.dev.5']
# Ruby 3.0 doesn't work with RBS 3.9.4 or 4.0.0.dev.4
exclude:
# only include the 3.0 variants we include later
- ruby-version: '3.0'
rbs-version: '3.9.5'
- ruby-version: '3.0'
rbs-version: '4.0.0.dev.4'
# Missing require in 'rbs collection update' - hopefully
# fixed in next RBS release
# only include the 3.1 variants we include later
- ruby-version: '3.1'
# only include the 3.2 variants we include later
- ruby-version: '3.2'
# only include the 3.3 variants we include later
- ruby-version: '3.3'
# only include the 3.4 variants we include later
- ruby-version: '3.4'
# only include the 4.0 variants we include later
- ruby-version: '4.0'
# Don't exclude 'head' - let's test all RBS versions we
# can there.
#
#
# Just exclude some odd-ball compatibility issues we can't
# work around:
#
# https://github.com/castwide/solargraph/actions/runs/20627923548/job/59241444380?pr=1102
- ruby-version: 'head'
rbs-version: '3.6.1'
- ruby-version: 'head'
rbs-version: '3.8.1'
include:
- ruby-version: '3.0'
rbs-version: '3.6.1'
- ruby-version: '3.1'
rbs-version: '3.6.1'
- ruby-version: '3.2'
rbs-version: '3.8.1'
- ruby-version: '3.3'
rbs-version: '3.9.5'
- ruby-version: '3.3'
rbs-version: '3.10.0'
- ruby-version: '3.4'
rbs-version: '4.0.0.dev.5'
- ruby-version: '4.0'
rbs-version: '4.0.0.dev.4'
rbs-version: '4.0.0.dev.5'
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
Expand All @@ -58,11 +87,8 @@ jobs:
run: |
bundle _2.5.23_ install
bundle update rbs # use latest available for this Ruby version
bundle list
bundle exec solargraph pin 'Bundler::Dsl#source'
- name: Update types
run: |
bundle exec rbs collection update
run: bundle exec rbs collection update
- name: Run tests
run: bundle exec rake spec
undercover:
Expand All @@ -77,9 +103,15 @@ jobs:
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.4'
# see https://github.com/castwide/solargraph/actions/runs/19391419903/job/55485410493?pr=1119
#
# match version in Gemfile.lock and use same version below
bundler: 2.5.23
bundler-cache: false
- name: Install gems
run: bundle install
- name: Update types
run: bundle exec rbs collection update
- name: Run tests
run: bundle exec rake spec
- name: Check PR coverage
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/typecheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
branches: ['*']

permissions:
contents: read
Expand All @@ -32,7 +32,7 @@ jobs:
- name: Install gems
run: |
bundle install
bundle update rbs # use latest available for this Ruby version
bundle update --pre rbs # use latest available for this Ruby version
- name: Install gem types
run: bundle exec rbs collection install
- name: Typecheck self
Expand Down
Loading
Loading