Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
260 commits
Select commit Hold shift + click to select a range
c2f4d73
Adapt specs
apiology Jul 20, 2025
e0cead9
Fix some annotations
apiology Jul 20, 2025
e6c5a58
Generic typechecking improvements
apiology Jul 22, 2025
898bb87
Fix specs
apiology Jul 22, 2025
b6bfe7b
Generic typechecking improvements
apiology Jul 22, 2025
1d0b23d
Generic typechecking improvements
apiology Jul 22, 2025
3850399
Generic typechecking improvements
apiology Jul 23, 2025
b6b66f3
Fix flaky spec
apiology Jul 30, 2025
d506f43
Linting fixes
apiology Aug 4, 2025
592e6bc
Speed up spec
apiology Aug 4, 2025
14dacc3
Linting fix
apiology Aug 4, 2025
883574e
Add spec
apiology Aug 4, 2025
637edd0
Linting fixes
apiology Aug 4, 2025
e8c2cca
Improve test coverage and fix bug
apiology Aug 4, 2025
13d87ee
Linting fix
apiology Aug 4, 2025
6f0a151
Extract method
apiology Aug 4, 2025
f9a4932
Refactors
apiology Aug 4, 2025
bc71924
Coverage fixes
apiology Aug 4, 2025
18bbe8a
Coverage fixes
apiology Aug 4, 2025
dc50122
Refactor
apiology Aug 4, 2025
7fcd43a
Fix nocov markers
apiology Aug 4, 2025
bb77106
Add another spec, fix behavior
apiology Aug 4, 2025
ed69326
Fix merge issue
apiology Aug 4, 2025
1e7c972
More specs
apiology Aug 4, 2025
2ed7c99
Merge branch 'master' into stricter_unions
apiology Aug 21, 2025
8d850ff
Merge branch 'master' into stricter_unions
apiology Aug 24, 2025
0fcff5d
Merge branch 'master' into run_strict_typechecking_in_ci
apiology Aug 24, 2025
5799b52
Lint fixes
apiology Aug 27, 2025
0d16966
Merge remote-tracking branch 'origin/master' into generic_typecheckin…
apiology Aug 27, 2025
5517ff7
Linting fixes
apiology Aug 27, 2025
6c55780
Fix merge issue
apiology Aug 27, 2025
809ad27
Fix merge issue
apiology Aug 27, 2025
ed1c54e
Rebaseline Rubocop todo
apiology Aug 27, 2025
260f227
Fix RuboCop issue
apiology Aug 27, 2025
ce2a106
Drop one of two contradictory strategies
apiology Aug 27, 2025
f7e9e60
Type fixes
apiology Aug 27, 2025
c96bee7
Fix type issue
apiology Aug 27, 2025
447c778
Make 'self' types concrete while checking arguments
apiology Aug 29, 2025
3638359
strict -> strong
apiology Aug 29, 2025
1da7ae5
Merge remote-tracking branch 'origin/master' into run_strict_typechec…
apiology Aug 29, 2025
b4a2ab1
Also change default in Rakefile
apiology Aug 29, 2025
6acfa0c
RuboCop todo file stability
apiology Aug 30, 2025
14be6bf
Merge remote-tracking branch 'origin/master' into rubocop_stability
apiology Aug 30, 2025
61260f3
Fix merge issue
apiology Aug 30, 2025
91ced05
Add spec
apiology Aug 31, 2025
2702f44
Work around strong typechecking issue
apiology Aug 31, 2025
f623a73
Pull in overcommit fix
apiology Sep 1, 2025
a8b678b
Add spec
apiology Sep 1, 2025
b10cdd1
Drop broken 'namespaces' method
apiology Sep 4, 2025
ea3db32
Merge branch 'rubocop_stability' into drop_broken_namespaces_method
apiology Sep 4, 2025
452bd37
Merge remote-tracking branch 'origin/master' into drop_broken_namespa…
apiology Sep 6, 2025
8edc773
Merge remote-tracking branch 'origin/master' into rubocop_stability
apiology Sep 6, 2025
bb0f607
Rerun rubocop todo
apiology Sep 6, 2025
41f098b
Rebuild rubocop todo file
apiology Sep 6, 2025
22c4b79
Merge remote-tracking branch 'origin/master' into stricter_unions
apiology Sep 7, 2025
5ea1270
Merge remote-tracking branch 'origin/master' into run_strict_typechec…
apiology Sep 7, 2025
8d88f5c
Merge remote-tracking branch 'origin/master' into overcommit_yardoc_b…
apiology Sep 7, 2025
40c78d4
Merge remote-tracking branch 'origin/master' into handle_more_typeche…
apiology Sep 7, 2025
a1d877c
Merge remote-tracking branch 'origin/master' into generic_typecheckin…
apiology Sep 7, 2025
2daf28a
Merge branch 'rubocop_stability' into generic_typechecking_improvements
apiology Sep 7, 2025
7edc869
Reodo rubocop todo
apiology Sep 7, 2025
b0bcb62
Merge branch 'rubocop_stability' into stricter_unions
apiology Sep 7, 2025
86965f2
Fix merge
apiology Sep 7, 2025
557edd0
Fix merge
apiology Sep 7, 2025
9628ef4
Clean up spec
apiology Sep 7, 2025
4bfee71
Add @type annotation
apiology Sep 7, 2025
e9a6677
Merge branch 'master' into stricter_unions
apiology Sep 7, 2025
837d7f6
Force build
apiology Sep 7, 2025
a4208e7
Restore
apiology Sep 7, 2025
f08b76a
Merge remote-tracking branch 'origin/master' into fix_solargraph_rspe…
apiology Sep 7, 2025
b66f2ac
install -> update with rbs collection
apiology Sep 7, 2025
a09a9af
Try Ruby 3.2
apiology Sep 7, 2025
6fc8feb
Update solargraph
apiology Sep 7, 2025
388c170
Re-add bundle install
apiology Sep 7, 2025
f80b73a
Drop MATRIX_SOLARGRAPH_VERSION
apiology Sep 7, 2025
ce2bee6
Drop debugging changes
apiology Sep 7, 2025
b2f3301
Force build
apiology Sep 7, 2025
8d0c426
Restore
apiology Sep 7, 2025
cf54f57
install -> update with rbs collection
apiology Sep 7, 2025
e2b034f
Try Ruby 3.2
apiology Sep 7, 2025
28cd8d9
Update solargraph
apiology Sep 7, 2025
e2d5c09
Re-add bundle install
apiology Sep 7, 2025
4036347
Drop MATRIX_SOLARGRAPH_VERSION
apiology Sep 7, 2025
2031cbb
Drop debugging changes
apiology Sep 7, 2025
c261704
Merge remote-tracking branch 'origin/master' into rubocop_stability
apiology Sep 7, 2025
dbe9a3e
Update expectations from master branch
apiology Sep 7, 2025
620fa00
Merge branch 'fix_solargraph_rspec_check' into rubocop_stability
apiology Sep 7, 2025
864d7a9
Merge branch 'rubocop_stability' into stricter_unions
apiology Sep 7, 2025
58cc0f0
Merge remote-tracking branch 'origin/master' into generic_typecheckin…
apiology Sep 7, 2025
01de50d
Merge branch 'rubocop_stability' into generic_typechecking_improvements
apiology Sep 7, 2025
9c9a760
Merge branch 'rubocop_stability' into overcommit_yardoc_bundle_fix
apiology Sep 8, 2025
e7651b8
Merge branch 'rubocop_stability' into drop_broken_namespaces_method
apiology Sep 8, 2025
bf7a447
Merge branch 'master' into generic_typechecking_improvements
apiology Sep 13, 2025
805276e
Fix typechecking issues
apiology Sep 13, 2025
df25735
Fix types
apiology Sep 15, 2025
f74f255
Fix types
apiology Sep 15, 2025
135e50d
Fix types
apiology Sep 15, 2025
67da9b1
Fix method intersection logic
apiology Sep 17, 2025
e5d88a5
Show all evaluated types in typechecker
apiology Sep 19, 2025
802e14e
Merge remote-tracking branch 'origin/master' into generic_typecheckin…
apiology Sep 24, 2025
3399448
Add @sg-ignore
apiology Sep 24, 2025
4eda431
Handle RBS static method aliases
apiology Sep 24, 2025
037307e
Fix #reduce_class_type
apiology Sep 24, 2025
25b0770
linting
apiology Sep 24, 2025
fd13390
Merge branch 'rspec-rails_fix' into generic_typechecking_improvements
apiology Sep 24, 2025
6a7a37f
Fix RuboCop issues
apiology Sep 24, 2025
f4399eb
[regression] Fix issue resolving mixins under same namespace
apiology Sep 25, 2025
3324b4c
Prevent recursion via caching mechanism
apiology Sep 25, 2025
174bf4e
Linting fix, ignore rubocop-yard issue pending yard PR merge
apiology Sep 25, 2025
4898313
[regression] Fix resolution in deep YARD namespace hierarchies
apiology Sep 25, 2025
cb47db0
[regression] Fix resolution of ambiguous argument types
apiology Sep 25, 2025
97e5519
Fix gates default value to match existing behavior
apiology Sep 25, 2025
7840f9e
Linting
apiology Sep 25, 2025
99cf71d
Linting
apiology Sep 25, 2025
dfdb952
Fix re-used variable name issue
apiology Sep 26, 2025
f8f7ca2
Linting
apiology Sep 26, 2025
1023646
Merge branch 'fix_mixin_under_same_ns' into fix_yard_pin_resolution_i…
apiology Sep 26, 2025
8ce4bb9
Fix merge
apiology Sep 26, 2025
a398b84
Resolve constants in references
apiology Sep 26, 2025
dd06a47
Linting
apiology Sep 26, 2025
cc86aec
Ratchet RuboCop
apiology Sep 26, 2025
343cd23
Fix lack of parameters in include types
apiology Sep 26, 2025
d787886
Bug fixes
apiology Sep 26, 2025
63a53db
Add actual type for Mutexes
apiology Sep 26, 2025
7546f73
Enable solargraph-rspec tests
lekemula Sep 21, 2025
9c79e5b
Fix rspec gems specs
lekemula Sep 21, 2025
55cf9c3
Fix pin combination consistency issue
apiology Sep 27, 2025
395b1f1
Merge branch 'consistent_closure_selection' into fix_gates_in_arg_types
apiology Sep 27, 2025
5d4bbc3
Closure merging fixes
apiology Sep 28, 2025
b5898e2
Drop incidental requirement
apiology Sep 28, 2025
1416e1d
Reduce number of build jobs for faster CI feedback
apiology Sep 28, 2025
f2abb73
Fix punctuation
apiology Sep 28, 2025
12e4563
[regression] Fix resolution of a nested type case
apiology Sep 28, 2025
b8174dd
Fix example name
apiology Sep 28, 2025
884e821
Merge branch 'fix_yard_pin_resolution_issues' into fix_resolution_of_…
apiology Sep 28, 2025
879eac3
Merge branch 'master' into reduce_num_of_buid_jobs
apiology Sep 30, 2025
99b7550
Merge remote-tracking branch 'origin/master' into generic_typecheckin…
apiology Sep 30, 2025
6e8c74a
Merge remote-tracking branch 'origin/master' into handle_more_typeche…
apiology Sep 30, 2025
12da1e3
Merge remote-tracking branch 'origin/master' into fix_resolution_of_a…
apiology Sep 30, 2025
faa57aa
Add another unmerged-Yard-PR issue
apiology Sep 30, 2025
4315f73
Merge branch 'fix_resolution_of_another_ambiguous_type' into handle_m…
apiology Sep 30, 2025
b9f2900
Fix merge issue
apiology Sep 30, 2025
f99883b
Merge remote-tracking branch 'origin/master' into overcommit_yardoc_b…
apiology Sep 30, 2025
4918790
Merge branch 'master' into drop_broken_namespaces_method
apiology Sep 30, 2025
3df4406
Ratchet RuboCop
apiology Sep 30, 2025
c23f64f
Merge remote-tracking branch 'origin/master' into handle_more_typeche…
apiology Sep 30, 2025
f8a78bf
Merge remote-tracking branch 'origin/master' into run_strict_typechec…
apiology Sep 30, 2025
2e6aa3f
Drop unneeded @sg-ignores
apiology Sep 30, 2025
66abe83
Drop unneeded @sg-ignore
apiology Sep 30, 2025
c35d6a7
Drop another @sg-ignore
apiology Sep 30, 2025
73e21c8
Merge remote-tracking branch 'origin/master' into fix_gates_in_arg_types
apiology Sep 30, 2025
7cba7ca
Bump for call.rb complexity
apiology Sep 30, 2025
2d154ca
Merge remote-tracking branch 'origin/master' into generic_typecheckin…
apiology Sep 30, 2025
470c26e
Mark spec as now working
apiology Sep 30, 2025
523ca94
Merge remote-tracking branch 'origin/master' into try_again_removing_…
apiology Sep 30, 2025
56a5588
Merge remote-tracking branch 'origin/master' into stricter_unions
apiology Sep 30, 2025
06eade6
Drop sg-ignores
apiology Sep 30, 2025
d486e64
Trim more matrix entries to make room for solargraph-rspec specs
apiology Oct 1, 2025
56342d4
Fix version number
apiology Oct 1, 2025
df0c1db
Merge remote-tracking branch 'lekemula/enable-solargraph-rspec-plugin…
apiology Oct 1, 2025
152dbdf
Annotation fixes for strong typechecking
apiology Oct 5, 2025
94e650b
Annotation fixes
apiology Oct 5, 2025
aa566bc
Merge branch 'handle_more_typechecking_self_situations' into run_stri…
apiology Oct 9, 2025
eb1de22
Merge branch 'overcommit_yardoc_bundle_fix' into run_strict_typecheck…
apiology Oct 9, 2025
7bdfa26
Merge branch 'drop_broken_namespaces_method' into run_strict_typechec…
apiology Oct 9, 2025
dfe6996
Merge branch 'try_again_removing_node_modules_stubs' into run_strict_…
apiology Oct 9, 2025
b2e4954
Merge branch 'annotations_2025' into run_strict_typechecking_in_ci
apiology Oct 9, 2025
2240ad7
Add @sg-ignores for issues covered by future PRs
apiology Oct 9, 2025
b0fb367
Add @sg-ignores for issues covered by future PRs
apiology Oct 9, 2025
1a2a546
Add future specs
apiology Oct 9, 2025
6a95643
Rename method
apiology Oct 9, 2025
84ac4ed
Add false_presences arguments
apiology Oct 9, 2025
5753e8f
Generalize some methods for future expansion
apiology Oct 9, 2025
9aea987
Handle simple 'if foo.nil?' cases
apiology Oct 10, 2025
1f47ac7
Merge branch 'reduce_num_of_buid_jobs' into flow_sensitive_typing_2_0
apiology Oct 10, 2025
82e5bbf
Handle 'if foo' in flow-sensitive typing
apiology Oct 11, 2025
a30c1e6
Set up flow-sensitive typing specs, currently passing and pending
apiology Oct 11, 2025
c6c96e3
Remove nilness in 'foo unless foo.nil? || foo'
apiology Oct 11, 2025
ab404c8
Handle foo if unrelated && foo
apiology Oct 11, 2025
b20ad1e
Handle 'break if foo.nil?'
apiology Oct 11, 2025
b0a7294
Handle 'if foo ... else foo'
apiology Oct 11, 2025
9cba783
Refactor
apiology Oct 11, 2025
3e678e1
Support 'if foo.nil?' when 'foo' has more than one lvar pin
apiology Oct 11, 2025
7b7c640
Support 'return if foo.nil?'
apiology Oct 12, 2025
88156b4
Support 'return foo unless !foo'
apiology Oct 12, 2025
5d1e9ae
Support 'return if foo.nil?'
apiology Oct 12, 2025
0456bd9
Support 'foo = nilable || not_nilable'
apiology Oct 12, 2025
9c6c1c1
Drop 'pending's which are already working
apiology Oct 12, 2025
10e7306
Handle 'foo = nilable_local || non_nilable' scenarios
apiology Oct 12, 2025
6f5d60a
Handle 'while foo'
apiology Oct 12, 2025
82183e4
Handle 'foo unless unrelated || repr.nil?
apiology Oct 15, 2025
1a4ef78
Use presence information to improve local variable type probing
apiology Oct 22, 2025
8a8469e
Fix issues from typechecking in CI
apiology Oct 22, 2025
c29deaf
Fix type issue
apiology Oct 22, 2025
4608872
Fix RuboCop issue
apiology Oct 22, 2025
350b01e
Deal with issue seen in typechecking
apiology Oct 22, 2025
6e0fc44
Set default on parameter for solargraph-rails compatibility
apiology Oct 23, 2025
c9abf56
Set default on parameter for solargraph-rails compatibility
apiology Oct 23, 2025
39704a0
Force build
apiology Oct 23, 2025
bba54e7
Add missing-but-probably-needed method
apiology Oct 24, 2025
7b8f56d
Merge branch 'local_variable_probiing' into union_type_enforcement_base
apiology Oct 24, 2025
77e760d
Merge branch 'flow_sensitive_typing_2_0' into union_type_enforcement_…
apiology Oct 25, 2025
8a0bf22
Fix merge issues
apiology Oct 25, 2025
1cda7ac
Fix merge issues
apiology Oct 25, 2025
41e7d49
Add @sg-ignore
apiology Oct 25, 2025
d49c3f1
Merge branch 'handle_more_typechecking_self_situations' into union_ty…
apiology Oct 25, 2025
545ca32
Fix @sg-ignore issues
apiology Oct 25, 2025
e619c0b
Merge branch 'fix_gates_in_arg_types' into union_type_enforcement_base
apiology Oct 25, 2025
64c94b4
Fix merge issue
apiology Oct 25, 2025
dd1b0c2
Adjust RuboCop todo
apiology Oct 25, 2025
0139b69
Merge branch 'overcommit_yardoc_bundle_fix' into union_type_enforceme…
apiology Oct 25, 2025
b495c06
Merge branch 'run_strict_typechecking_in_ci' into union_type_enforcem…
apiology Oct 25, 2025
63a2e22
Merge branch 'stricter_unions' into union_type_enforcement_base
apiology Oct 25, 2025
05f1c1e
Fix merge issue
apiology Oct 25, 2025
1d63a0d
Fix merge issue
apiology Oct 25, 2025
36273f4
Fix merge issue
apiology Oct 25, 2025
a36cadc
Swap ivar expectations
apiology Oct 25, 2025
1bae34b
Fix merge issue
apiology Oct 25, 2025
104f8ab
Add probe method
apiology Oct 25, 2025
6151cb7
Fix merge issue
apiology Oct 25, 2025
9e2ba8a
Fix merge issue
apiology Oct 25, 2025
f72e4a0
Drop @sg-ignores
apiology Oct 25, 2025
8e0bf1a
Add spec for is_a? in a "break unless" statement
apiology Oct 25, 2025
5cdedb8
Fix merge issue
apiology Oct 25, 2025
97ffc4b
Add missing loose_unions location
apiology Oct 25, 2025
60fb1cb
Move to enforcement at alpha level for now
apiology Oct 25, 2025
670cede
Merge branch 'stricter_unions' into union_type_enforcement_base
apiology Oct 25, 2025
2263c95
Fix type issues
apiology Oct 25, 2025
47c4720
Fix solargraph-rspec issues
apiology Oct 25, 2025
a998a85
Merge remote-tracking branch 'lekemula/enable-solargraph-rspec-plugin…
apiology Oct 25, 2025
f51954a
Allow filename to be nil for solargraph-rspec specs
apiology Oct 25, 2025
0cfcd63
Merge remote-tracking branch 'lekemula/enable-solargraph-rspec-plugin…
apiology Oct 25, 2025
0834ab1
Add pending flag
apiology Oct 25, 2025
105a2c4
Use appraisal gem while running solargraph-rspec specs
apiology Oct 5, 2025
d3c0185
Use appraisal gem while running solargraph-rspec specs
apiology Oct 5, 2025
e376dc5
Use appraisal gem while running solargraph-rspec specs
apiology Oct 5, 2025
a3ed92e
Spec updates
apiology Oct 25, 2025
4baadb5
Keep typechecking Ruby versions the same
apiology Oct 25, 2025
da508cb
Annotation fixes
apiology Oct 26, 2025
7ba09ab
Merge branch 'local_variable_probiing' into union_type_enforcement_base
apiology Oct 26, 2025
6ba6100
Annotation fixes
apiology Oct 26, 2025
e15c04d
Fix issue with &.
apiology Oct 26, 2025
1ea7e1e
Merge branch 'flow_sensitive_typing_2_0' into union_type_enforcement_…
apiology Oct 26, 2025
c03d238
Fix merge
apiology Oct 26, 2025
cf9a72a
Drop accidental file add
apiology Oct 26, 2025
6ff7332
Remove @sg-ignore
apiology Oct 26, 2025
08816d8
Drop unused file
apiology Oct 26, 2025
911970d
Merge branch 'flow_sensitive_typing_2_0' into union_type_enforcement_…
apiology Oct 26, 2025
27cd225
Ensure nullable? is on both UniqueType and ComplexType
apiology Oct 26, 2025
57883f6
Merge branch 'local_variable_probiing' into union_type_enforcement_base
apiology Oct 26, 2025
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
74 changes: 44 additions & 30 deletions .github/workflows/plugins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
ruby-version: '3.4' # keep same as typecheck.yml
bundler-cache: true
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
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,7 @@ jobs:
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
ruby-version: '3.4' # keep same as typecheck.yml
bundler-cache: false
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
Expand All @@ -72,7 +72,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
rspec:
Expand All @@ -83,7 +83,7 @@ jobs:
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
ruby-version: '3.4' # keep same as typecheck.yml
bundler-cache: false
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
Expand All @@ -101,34 +101,48 @@ 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

# run_solargraph_rspec_specs:
# # check out solargraph-rspec as well as this project, and point the former to use the latter as a local gem
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: clone https://github.com/lekemula/solargraph-rspec/
# run: |
# cd ..
# git clone https://github.com/lekemula/solargraph-rspec.git
# cd solargraph-rspec
# - name: Set up Ruby
# uses: ruby/setup-ruby@v1
# with:
# ruby-version: '3.0'
# bundler-cache: false
# - name: Install gems
# run: |
# cd ../solargraph-rspec
# echo "gem 'solargraph', path: '../solargraph'" >> Gemfile
# bundle install
# - name: Run specs
# run: |
# cd ../solargraph-rspec
# bundle exec rake spec
run_solargraph_rspec_specs:
# check out solargraph-rspec as well as this project, and point the former to use the latter as a local gem
runs-on: ubuntu-latest
env:
SOLARGRAPH_CACHE: ${{ github.workspace }}/../solargraph-rspec/vendor/solargraph/cache
BUNDLE_PATH: ${{ github.workspace }}/../solargraph-rspec/vendor/bundle
steps:
- uses: actions/checkout@v3
- name: clone https://github.com/lekemula/solargraph-rspec/
run: |
cd ..
git clone https://github.com/lekemula/solargraph-rspec.git
cd solargraph-rspec
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
bundler-cache: false
- name: Install gems
run: |
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
- name: Configure .solargraph.yml
run: |
cd ../solargraph-rspec
cp .solargraph.yml.example .solargraph.yml
- name: Solargraph generate RSpec gems YARD and RBS pins
run: |
cd ../solargraph-rspec
rspec_gems=$(bundle exec 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
run: |
cd ../solargraph-rspec
bundle exec appraisal rspec --format progress

run_solargraph_rails_specs:
# check out solargraph-rails as well as this project, and point the former to use the latter as a local gem
Expand Down
19 changes: 18 additions & 1 deletion .github/workflows/rspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,29 @@ jobs:
matrix:
ruby-version: ['3.0', '3.1', '3.2', '3.3', '3.4', 'head']
rbs-version: ['3.6.1', '3.9.4', '4.0.0.dev.4']
# Ruby 3.0 doesn't work with RBS 3.9.4 or 4.0.0.dev.4
exclude:
# Ruby 3.0 doesn't work with RBS 3.9.4 or 4.0.0.dev.4
- ruby-version: '3.0'
rbs-version: '3.9.4'
- ruby-version: '3.0'
rbs-version: '4.0.0.dev.4'
# 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'
include:
- ruby-version: '3.1'
rbs-version: '3.6.1'
- ruby-version: '3.2'
rbs-version: '3.9.4'
- ruby-version: '3.3'
rbs-version: '4.0.0.dev.4'
- ruby-version: '3.4'
rbs-version: '4.0.0.dev.4'
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/typecheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ permissions:

jobs:
solargraph_typed:
name: Solargraph / typed
name: Solargraph / strong

runs-on: ubuntu-latest

Expand All @@ -36,4 +36,4 @@ jobs:
- name: Install gem types
run: bundle exec rbs collection install
- name: Typecheck self
run: SOLARGRAPH_ASSERTS=on bundle exec solargraph typecheck --level typed
run: SOLARGRAPH_ASSERTS=on bundle exec solargraph typecheck --level strong
46 changes: 15 additions & 31 deletions .rubocop_todo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ Gemspec/OrderedDependencies:
# Configuration parameters: Severity.
Gemspec/RequireMFA:
Exclude:
- 'solargraph.gemspec'
- 'spec/fixtures/rdoc-lib/rdoc-lib.gemspec'
- 'spec/fixtures/rubocop-custom-version/specifications/rubocop-0.0.0.gemspec'

Expand Down Expand Up @@ -216,11 +215,6 @@ Layout/SpaceAfterComma:
Layout/SpaceAroundEqualsInParameterDefault:
Enabled: false

# This cop supports safe autocorrection (--autocorrect).
Layout/SpaceAroundKeyword:
Exclude:
- 'spec/rbs_map/conversions_spec.rb'

# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator, EnforcedStyleForRationalLiterals.
# SupportedStylesForExponentOperator: space, no_space
Expand Down Expand Up @@ -458,7 +452,7 @@ Metrics/AbcSize:
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
# AllowedMethods: refine
Metrics/BlockLength:
Max: 54
Max: 57

# Configuration parameters: CountBlocks, CountModifierForms.
Metrics/BlockNesting:
Expand All @@ -469,6 +463,7 @@ Metrics/ClassLength:
Exclude:
- 'lib/solargraph/api_map.rb'
- 'lib/solargraph/language_server/host.rb'
- 'lib/solargraph/pin/method.rb'
- 'lib/solargraph/rbs_map/conversions.rb'
- 'lib/solargraph/type_checker.rb'

Expand Down Expand Up @@ -624,7 +619,6 @@ RSpec/ExampleWording:
# This cop supports safe autocorrection (--autocorrect).
RSpec/ExcessiveDocstringSpacing:
Exclude:
- 'spec/rbs_map/conversions_spec.rb'
- 'spec/source/chain/call_spec.rb'

# This cop supports safe autocorrection (--autocorrect).
Expand All @@ -640,21 +634,10 @@ RSpec/ExpectActual:
RSpec/HookArgument:
Enabled: false

# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: .
# SupportedStyles: is_expected, should
RSpec/ImplicitExpect:
EnforcedStyle: should

# Configuration parameters: AssignmentOnly.
RSpec/InstanceVariable:
Enabled: false

# This cop supports safe autocorrection (--autocorrect).
RSpec/LeadingSubject:
Exclude:
- 'spec/rbs_map/conversions_spec.rb'

RSpec/LeakyConstantDeclaration:
Exclude:
- 'spec/complex_type_spec.rb'
Expand Down Expand Up @@ -773,7 +756,6 @@ Style/AndOr:
# RedundantBlockArgumentNames: blk, block, proc
Style/ArgumentsForwarding:
Exclude:
- 'lib/solargraph/api_map.rb'
- 'lib/solargraph/complex_type.rb'

# This cop supports safe autocorrection (--autocorrect).
Expand Down Expand Up @@ -955,7 +937,6 @@ Style/MapIntoArray:
Exclude:
- 'lib/solargraph/diagnostics/update_errors.rb'
- 'lib/solargraph/parser/parser_gem/node_chainer.rb'
- 'lib/solargraph/type_checker/param_def.rb'

# This cop supports unsafe autocorrection (--autocorrect-all).
Style/MapToHash:
Expand Down Expand Up @@ -1029,7 +1010,6 @@ Style/Next:
- 'lib/solargraph/parser/parser_gem/node_processors/send_node.rb'
- 'lib/solargraph/pin/signature.rb'
- 'lib/solargraph/source_map/clip.rb'
- 'lib/solargraph/type_checker/checks.rb'

# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: Strict, AllowedNumbers, AllowedPatterns.
Expand Down Expand Up @@ -1166,7 +1146,12 @@ Style/SlicingWithRange:
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowModifier.
Style/SoleNestedConditional:
Enabled: false
Exclude:
- 'lib/solargraph/complex_type/unique_type.rb'
- 'lib/solargraph/pin/parameter.rb'
- 'lib/solargraph/source.rb'
- 'lib/solargraph/source/source_chainer.rb'
- 'lib/solargraph/type_checker.rb'

# This cop supports safe autocorrection (--autocorrect).
Style/StderrPuts:
Expand All @@ -1188,7 +1173,6 @@ Style/StringLiterals:
# This cop supports safe autocorrection (--autocorrect).
Style/SuperArguments:
Exclude:
- 'lib/solargraph/pin/base_variable.rb'
- 'lib/solargraph/pin/callable.rb'
- 'lib/solargraph/pin/method.rb'
- 'lib/solargraph/pin/signature.rb'
Expand Down Expand Up @@ -1230,7 +1214,12 @@ Style/TrailingCommaInArrayLiteral:
# Configuration parameters: EnforcedStyleForMultiline.
# SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma
Style/TrailingCommaInHashLiteral:
Enabled: false
Exclude:
- 'lib/solargraph/pin/base_variable.rb'
- 'lib/solargraph/pin/callable.rb'
- 'lib/solargraph/pin/closure.rb'
- 'lib/solargraph/pin/local_variable.rb'
- 'lib/solargraph/rbs_map/conversions.rb'

# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, AllowedMethods.
Expand Down Expand Up @@ -1278,12 +1267,7 @@ YARD/MismatchName:
Enabled: false

YARD/TagTypeSyntax:
Exclude:
- 'lib/solargraph/api_map/constants.rb'
- 'lib/solargraph/language_server/host.rb'
- 'lib/solargraph/parser/comment_ripper.rb'
- 'lib/solargraph/pin/method.rb'
- 'lib/solargraph/type_checker.rb'
Enabled: false

# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
Expand Down
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,9 +132,7 @@ See [https://solargraph.org/guides](https://solargraph.org/guides) for more tips

### Development

To see more logging when typechecking or running specs, set the
`SOLARGRAPH_LOG` environment variable to `debug` or `info`. `warn` is
the default value.
To see more logging when typechecking or running specs, set the `SOLARGRAPH_LOG` environment variable to `debug` or `info`. `warn` is the default value.

Code contributions are always appreciated. Feel free to fork the repo and submit pull requests. Check for open issues that could use help. Start new issues to discuss changes that have a major impact on the code or require large time commitments.

Expand Down
2 changes: 1 addition & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ task :console do
end

desc "Run the type checker"
task typecheck: [:typecheck_typed]
task typecheck: [:typecheck_strong]

desc "Run the type checker at typed level - return code issues provable without annotations being correct"
task :typecheck_typed do
Expand Down
Loading
Loading