Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
833 commits
Select commit Hold shift + click to select a range
e1665fe
Revert double quote changes for another PR
apiology Jul 28, 2025
edcfc69
Revert double quote changes for another PR
apiology Jul 28, 2025
b7af775
Revert double quote changes for another PR
apiology Jul 28, 2025
027c774
Revert double quote changes for another PR
apiology Jul 28, 2025
9c3f0b4
Revert double quote changes for another PR
apiology Jul 28, 2025
bf74041
More specs
apiology Jul 29, 2025
bbce86b
Add spec
apiology Jul 29, 2025
81d91ed
Try to reproduce CI issue
apiology Jul 29, 2025
4a6ef4f
Disable testing against head
apiology Jul 29, 2025
0268ef1
Drop dead code
apiology Jul 29, 2025
73821ee
Drop unintended change
apiology Jul 29, 2025
8564aec
Drop no-longer-needed line
apiology Jul 29, 2025
fb988a2
Try abbrev instead of cgi in spec
apiology Jul 29, 2025
2ea23a6
Drop unneeded error handling
apiology Jul 29, 2025
594bd26
More specs
apiology Jul 29, 2025
d381ba7
More specs
apiology Jul 29, 2025
b534c02
Fix pin caching
apiology Jul 29, 2025
17fe05f
Rebaseline rubocop todo
apiology Jul 29, 2025
af0e537
Try again with logger, which is formally in the gemspec as a
apiology Jul 29, 2025
05b6867
Drop un-needed new code
apiology Jul 29, 2025
715274f
Rebaseline rubocop todo
apiology Jul 29, 2025
373063b
Another spec
apiology Jul 29, 2025
79ffb59
Improve coverage
apiology Jul 29, 2025
70d6365
Another spec
apiology Jul 29, 2025
17be263
Another spec
apiology Jul 29, 2025
e286fa5
More specs
apiology Jul 29, 2025
4e76133
Fix spec
apiology Jul 29, 2025
db48548
Merge remote-tracking branch 'origin/improve_pin_caching' into 2025-0…
apiology Jul 30, 2025
148521f
Fix merge issue
apiology Jul 30, 2025
b6b66f3
Fix flaky spec
apiology Jul 30, 2025
08d3b9e
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Jul 30, 2025
84ca5a3
Fix example in spec
apiology Jul 30, 2025
3877c4f
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Jul 30, 2025
877bd46
Merge remote-tracking branch 'castwide/master' into 2025-07-02
apiology Jul 30, 2025
2a8f62a
Document gems command
apiology Jul 31, 2025
09a7292
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Jul 31, 2025
834e5d9
Improve test speed
apiology Aug 3, 2025
f309133
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Aug 3, 2025
4558a10
Fix up .rubocop_todo.yml
apiology Aug 3, 2025
b7e3aea
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Aug 3, 2025
02f6317
Linting fixes
apiology Aug 3, 2025
a629ffd
Merge branch 'activesupport_concern' into 2025-07-02
apiology Aug 3, 2025
ad72e8a
Fix merge issues
apiology Aug 3, 2025
d506f43
Linting fixes
apiology Aug 4, 2025
6e5c916
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Aug 4, 2025
d33f156
Linting fix
apiology Aug 4, 2025
3445823
Merge branch 'logging_env_variable' into 2025-07-02
apiology Aug 4, 2025
947bdfe
More fixes
apiology Aug 4, 2025
a344a56
Merge branch 'annotations_and_rubocop_fixes' into 2025-07-02
apiology Aug 4, 2025
e2fcd12
Add nocov markings for undercover
apiology Aug 4, 2025
b98413f
Merge branch 'type_annotations_2025_07' into 2025-07-02
apiology Aug 4, 2025
8dbe7df
Improve a pin combination case around selfy types
apiology Aug 4, 2025
6accb85
Merge branch 'improve_selfy_type_pin_combination_case' into 2025-07-02
apiology Aug 4, 2025
d726cc7
Linting/coverage fixes
apiology Aug 4, 2025
8808df1
Merge branch 'complain_on_unused_sgignore_lines' into 2025-07-02
apiology Aug 4, 2025
fdd3810
Linting fix
apiology Aug 4, 2025
e7d6ff1
Merge branch 'method_pin' into 2025-07-02
apiology Aug 4, 2025
0a2d760
Fix merge issue
apiology Aug 4, 2025
c4cd5bc
Linting fixes
apiology Aug 4, 2025
3abf680
Merge branch 'gemfile_fixes' into 2025-07-02
apiology Aug 4, 2025
8392b41
Move open3 to rbs/fills, as it is not always added as gem
apiology Aug 4, 2025
7699a25
Merge branch 'gemfile_fixes' into 2025-07-02
apiology Aug 4, 2025
30cdfc8
Add spec
apiology Aug 4, 2025
2e6287d
Merge branch 'method_pin' into 2025-07-02
apiology Aug 4, 2025
f4abeb4
Remove unneeded file
apiology Aug 4, 2025
d17e19f
Merge branch 'type_annotations_2025_07' into 2025-07-02
apiology Aug 4, 2025
1ca70c1
Linting fixes
apiology Aug 4, 2025
3405ef4
Merge branch 'fix_all_reporters_config' into 2025-07-02
apiology Aug 4, 2025
a30d790
Fix spec
apiology Aug 4, 2025
352213a
Merge branch 'method_pin' into 2025-07-02
apiology Aug 4, 2025
de2cf54
Fix linting issue
apiology Aug 4, 2025
0237507
Merge branch 'or_asgn_fix' into 2025-07-02
apiology Aug 4, 2025
592e6bc
Speed up spec
apiology Aug 4, 2025
e487ed2
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Aug 4, 2025
5c24a74
Add Open3.capture2e chdir spec
apiology Aug 4, 2025
961cc2b
Merge branch 'gemfile_fixes' into 2025-07-02
apiology Aug 4, 2025
1af1613
Linting fix
apiology Aug 4, 2025
997ad7c
Merge branch 'logging_env_variable' into 2025-07-02
apiology Aug 4, 2025
9762333
Add @sg-ignore
apiology Aug 4, 2025
14dacc3
Linting fix
apiology Aug 4, 2025
6c71980
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Aug 4, 2025
1bf5a44
Add mocking to spec for reliability
apiology Aug 4, 2025
1d34d03
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Aug 4, 2025
883574e
Add spec
apiology Aug 4, 2025
e71d808
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Aug 4, 2025
05c6b86
Ignore YARD/TagTypeSyntax pending YARD PR
apiology Aug 4, 2025
637edd0
Linting fixes
apiology Aug 4, 2025
7033c83
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Aug 4, 2025
4fc60fb
Linting fixes
apiology Aug 4, 2025
42f823e
Merge branch 'gemfile_fixes' into 2025-07-02
apiology Aug 4, 2025
0b6e309
Linting fixes
apiology Aug 4, 2025
c8b06bb
Merge branch 'gemfile_fixes' into 2025-07-02
apiology Aug 4, 2025
cfb1479
Fix merge issue
apiology Aug 4, 2025
6dba222
Fix merge issue
apiology Aug 4, 2025
c175dbe
Ratchet .rubocop_todo.yml
apiology Aug 4, 2025
990cf2f
Revert kwarg change on method used by (specs in) solargraph-rails
apiology Aug 4, 2025
1adb56e
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Aug 4, 2025
5678e6b
Exclude a vendored issue
apiology Aug 4, 2025
8e57619
Merge branch 'linting' into 2025-07-02
apiology Aug 4, 2025
daec55a
Revert kwarg change on method used by (specs in) solargraph-rails
apiology Aug 4, 2025
090f0a0
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Aug 4, 2025
6ef82c1
Rubocop fix, add spec
apiology Aug 4, 2025
1a0e0af
Merge branch 'annotations_and_rubocop_fixes' into 2025-07-02
apiology Aug 4, 2025
27a78c5
Fix issue from undercover
apiology Aug 4, 2025
fd9d52e
Merge branch 'define_method' into 2025-07-02
apiology Aug 4, 2025
d41d78f
Bump version in rubocop todo file
apiology Aug 4, 2025
e8c2cca
Improve test coverage and fix bug
apiology Aug 4, 2025
24614ba
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Aug 4, 2025
0b87e1d
Merge remote-tracking branch 'origin/use_mutex_for_rubocop_invocation…
apiology Aug 4, 2025
13d87ee
Linting fix
apiology Aug 4, 2025
6d2b6a9
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Aug 4, 2025
1ef0418
Spec for rbs-sord branch
apiology Aug 4, 2025
5fe7419
Merge branch 'rbs-sord-specs' into 2025-07-02
apiology Aug 4, 2025
f3062d7
Merge branch 'linting' into 2025-07-02
apiology Aug 4, 2025
24cd253
More specs
apiology Aug 4, 2025
15c3cbf
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Aug 4, 2025
6f0a151
Extract method
apiology Aug 4, 2025
53d0903
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Aug 4, 2025
f9a4932
Refactors
apiology Aug 4, 2025
bc1210c
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Aug 4, 2025
bc71924
Coverage fixes
apiology Aug 4, 2025
2293190
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Aug 4, 2025
18bbe8a
Coverage fixes
apiology Aug 4, 2025
669b2c3
Coverage fix
apiology Aug 4, 2025
1b24e67
Merge branch 'complain_on_unused_sgignore_lines' into 2025-07-02
apiology Aug 4, 2025
dc50122
Refactor
apiology Aug 4, 2025
dc5e0ae
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Aug 4, 2025
ba30590
Add nocov markers around unreachable area
apiology Aug 4, 2025
96d520e
Merge branch 'type_check_lhs_expression' into 2025-07-02
apiology Aug 4, 2025
7fcd43a
Fix nocov markers
apiology Aug 4, 2025
8f13524
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Aug 4, 2025
600f450
Allow rubocop-yard to understand literal symbols in type annotations
apiology Aug 4, 2025
f511ad3
Merge branch 'linting' into 2025-07-02
apiology Aug 4, 2025
01a078f
Fix a coverage issue
apiology Aug 4, 2025
bdcb910
Merge branch 'type_check_lhs_expression' into 2025-07-02
apiology Aug 4, 2025
861d4cb
Ratchet rubocop todo
apiology Aug 4, 2025
12bdeba
Add incremental workflow for code coverage reporting in Rakefile
apiology Aug 4, 2025
3f75a1e
Merge branch 'linting' into 2025-07-02
apiology Aug 4, 2025
d4a0e36
Fix some Rakefile output issues
apiology Aug 4, 2025
a1da7bf
Merge branch 'linting' into 2025-07-02
apiology Aug 4, 2025
904cc1d
Add incremental workflow for code coverage reporting in Rakefile
apiology Aug 4, 2025
03fa18b
Merge branch 'linting' into 2025-07-02
apiology Aug 4, 2025
bb77106
Add another spec, fix behavior
apiology Aug 4, 2025
8f17946
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Aug 4, 2025
ed69326
Fix merge issue
apiology Aug 4, 2025
d837860
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Aug 4, 2025
bf430f0
Catch potential bad-path issue
apiology Aug 4, 2025
14ffa23
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Aug 4, 2025
67d3f94
Drop bad line
apiology Aug 4, 2025
3618af7
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Aug 4, 2025
1e7c972
More specs
apiology Aug 4, 2025
285dab9
Merge branch 'generic_typechecking_improvements' into 2025-07-02
apiology Aug 4, 2025
17883a2
Fix call to ApiMap
apiology Aug 4, 2025
2058a26
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Aug 4, 2025
0cf4006
Test error andler
apiology Aug 4, 2025
3fa49e8
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Aug 4, 2025
5ecbf99
Ratchet rubocop todo
apiology Aug 4, 2025
8a045e2
Drop blank line
apiology Aug 4, 2025
f8fd596
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Aug 4, 2025
a3d6c03
Ratchet RuboCop todo file
apiology Aug 5, 2025
7441fd4
Move back to capture2e in undercover Rake task
apiology Aug 5, 2025
f5f9dd6
Merge branch 'linting' into 2025-07-02
apiology Aug 5, 2025
e875226
Cover more paths in type checking
apiology Aug 5, 2025
6d4cc5b
Merge branch 'type_check_lhs_expression' into 2025-07-02
apiology Aug 5, 2025
4a7c6de
Define closure for Pin::Symbol, for completeness
apiology Aug 5, 2025
0188494
Merge branch 'symbol_closure' into 2025-07-02
apiology Aug 5, 2025
dc4f82f
Tweak timeout in spec
apiology Aug 5, 2025
4679c08
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Aug 5, 2025
5f2c8b8
Add @sg-ignore
apiology Aug 5, 2025
3a5a728
Merge branch 'linting' into 2025-07-02
apiology Aug 5, 2025
0cea835
Fix a code coverage issue
apiology Aug 5, 2025
61dc0e0
Merge branch 'type_check_lhs_expression' into 2025-07-02
apiology Aug 5, 2025
cf8a5ed
Fix merge issue
apiology Aug 5, 2025
4fe4eb4
Show profiling info by default
apiology Aug 5, 2025
04d20a0
Merge branch 'linting' into 2025-07-02
apiology Aug 5, 2025
861d8f6
Ignore other local linting/testing-related files while we're at it
apiology Aug 5, 2025
072ecef
Merge branch 'linting' into 2025-07-02
apiology Aug 5, 2025
443cdae
Protect another Rubocop::Runner use with mutex
apiology Aug 5, 2025
aed7886
Merge branch 'use_mutex_for_rubocop_invocation' into 2025-07-02
apiology Aug 5, 2025
2bf7f31
Move away from Set due to Ruby 3.0 failure
apiology Aug 5, 2025
1f03bd8
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Aug 5, 2025
5c83d0f
Add new RuboCop failure from new RuboCop
apiology Aug 5, 2025
b8b71b9
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Aug 5, 2025
bab49a6
Ratchet Rubocop todo
apiology Aug 5, 2025
18a5f06
Update to latest rbs
apiology Aug 5, 2025
782f4d6
Update to latest rbs
apiology Aug 5, 2025
c6f650c
Update to latest rbs
apiology Aug 5, 2025
6bf5b41
Merge branch 'run_plugin_specs' into 2025-07-02
apiology Aug 5, 2025
852dd51
Update todo file from new RuboCop
apiology Aug 6, 2025
11a1a34
Merge remote-tracking branch 'origin/run_strict_typechecking_in_ci' i…
apiology Aug 7, 2025
4e6dd75
Rakefile tweaks after more extended use
apiology Aug 9, 2025
2bf99d0
Merge branch 'linting' into 2025-07-02
apiology Aug 9, 2025
0c26f15
Resolve class aliases via Constant pins
apiology Aug 10, 2025
83fd094
Merge branch 'resolve_class_aliases' into 2025-07-02
apiology Aug 10, 2025
9242426
spec_failed tweak
apiology Aug 10, 2025
86740be
Merge branch 'linting' into 2025-07-02
apiology Aug 10, 2025
95cf765
Reduce load of overcommit
apiology Aug 12, 2025
03f2e87
Merge remote-tracking branch 'castwide/master' into improve_pin_caching
apiology Aug 19, 2025
9d3800b
Merge remote-tracking branch 'origin/master' into improve_pin_caching
apiology Aug 19, 2025
cf532b6
Ratchet rubocop todo file
apiology Aug 19, 2025
07e8fde
Bump pin caching
apiology Aug 19, 2025
30c2831
Drop .pryrc from file
apiology Aug 19, 2025
c208f5c
Drop dead code
apiology Aug 19, 2025
eb25912
Debug
apiology Aug 19, 2025
81f6b1c
Ensure rbs collection update is run in rspec tests
apiology Aug 19, 2025
dbacbe5
Exclude a test combination
apiology Aug 19, 2025
09062ce
Update excluded scenarios
apiology Aug 19, 2025
35ff86b
Fix missing coverage
apiology Aug 19, 2025
542bcb7
Fix spec
apiology Aug 19, 2025
b0f0517
Debug
apiology Aug 19, 2025
68b294a
Debug
apiology Aug 19, 2025
c268973
Fix rspec integration
apiology Aug 20, 2025
6abaefc
Another solargraph-rspec fix
apiology Aug 20, 2025
98ec2eb
Handle BundleNotFoundError
apiology Aug 20, 2025
2e3b867
Use rspec-time-guard to debug slow specs
apiology Aug 20, 2025
d20e1d9
Fix spec glitches
apiology Aug 20, 2025
629ee5b
Bump timeout on spec
apiology Aug 20, 2025
2671de5
Avoid using operator- on Gem::Specification
apiology Aug 20, 2025
d118208
Fix typechecking issue
apiology Aug 20, 2025
d167731
Debug specs
apiology Aug 20, 2025
0dc01e4
Fix issue with not being in directory workspace
apiology Aug 20, 2025
c615ce9
Fix linting issue
apiology Aug 20, 2025
62e00ea
Fix invalid spec
apiology Aug 20, 2025
8672a5e
Fix time limit
apiology Aug 20, 2025
5d27b40
Fix expectations in face of solargraph-rspec requires
apiology Aug 20, 2025
8e3c148
Ratchet rubocop todo file
apiology Aug 20, 2025
f505318
Fix spec bug
apiology Aug 20, 2025
65843fd
Debug spec failure
apiology Aug 20, 2025
cb0178b
Reproduce bug with spec
apiology Aug 20, 2025
5844b75
Restore test command
apiology Aug 20, 2025
585f914
Add explicit reset_pins! method
apiology Aug 21, 2025
ddca860
Revert formatting
apiology Aug 21, 2025
0082b43
Revert run tests command
apiology Aug 21, 2025
40bdb5a
Fix annotation
apiology Aug 21, 2025
390aed2
Cache global environ pins
apiology Aug 21, 2025
4ee8c00
Add convention-based requires more lazily
apiology Aug 21, 2025
a66e738
Merge branch 'master' into improve_pin_caching
apiology Aug 21, 2025
c2d1674
Rely on workspace to own global environ
apiology Aug 21, 2025
25624dc
Rely on workspace to own global environ
apiology Aug 21, 2025
14bdb8c
Ratchet .rubocop_todo.yml
apiology Aug 21, 2025
a16fcc1
Fix specs
apiology Aug 21, 2025
247c139
Time rspec and rails plugins separately
apiology Aug 21, 2025
bd8e64d
Fix syntax
apiology Aug 21, 2025
fdf9c7d
Add to unprovided solargraph-rspec requires
apiology Aug 21, 2025
a2c87be
Merge branch 'improve_pin_caching' into 2025-07-02
apiology Aug 22, 2025
12ae6f0
Refine order of object convention method pins
apiology Aug 23, 2025
bd50f34
Merge branch 'refine_order_of_object_convention' into 2025-07-02
apiology Aug 23, 2025
5b457fe
Linting fix
apiology Aug 23, 2025
e61a7d0
Catch up with new RuboCop version
apiology Aug 23, 2025
b1f9740
Merge branch 'refine_order_of_object_convention' into 2025-07-02
apiology Aug 23, 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
157 changes: 151 additions & 6 deletions .github/workflows/plugins.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,21 @@
name: Plugin Backwards Compatibility Tests
---
name: Plugin

# To debug locally:
# npm install -g act
# cd /Users/broz/src/solargraph/ && act pull_request -j run_solargraph_rails_specs # e.g.

on:
push:
branches: [ master ]
branches: [master]
pull_request:
branches: [ master ]
branches: [master]

permissions:
contents: read

jobs:
test:
regression:
runs-on: ubuntu-latest

steps:
Expand All @@ -19,7 +24,7 @@ jobs:
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
bundler-cache: false
bundler-cache: true
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: yq
Expand All @@ -29,14 +34,154 @@ jobs:
echo 'gem "solargraph-rails"' > .Gemfile
echo 'gem "solargraph-rspec"' >> .Gemfile
bundle install
bundle update rbs
- name: Configure to use plugins
run: |
bundle exec solargraph config
yq -yi '.plugins += ["solargraph-rails"]' .solargraph.yml
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
- name: Ensure specs still run
run: bundle exec rake spec
rails:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
bundler-cache: false
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: yq
version: 1.0
- name: Install gems
run: |
echo 'gem "solargraph-rails"' > .Gemfile
bundle install
bundle update 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
- name: Ensure specs still run
run: bundle exec rake spec
rspec:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
bundler-cache: false
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: yq
version: 1.0
- name: Install gems
run: |
echo 'gem "solargraph-rspec"' >> .Gemfile
bundle install
bundle update 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 install
run: bundle exec rbs collection update
- name: Ensure typechecking still works
run: bundle exec solargraph typecheck --level typed
- 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_rails_specs:
# check out solargraph-rails 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 solargraph-rails
run: |
cd ..
git clone https://github.com/iftheshoefritz/solargraph-rails.git
cd solargraph-rails
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
# solargraph-rails supports Ruby 3.0+
ruby-version: '3.0'
bundler-cache: false
bundler: latest
env:
MATRIX_SOLARGRAPH_VERSION: '>=0.56.0.pre1'
MATRIX_RAILS_VERSION: "7.0"
- name: Install gems
run: |
set -x
BUNDLE_PATH="${GITHUB_WORKSPACE:?}/vendor/bundle"
export BUNDLE_PATH
cd ../solargraph-rails
echo "gem 'solargraph', path: '${GITHUB_WORKSPACE:?}'" >> Gemfile
bundle install
bundle update rbs
RAILS_DIR="$(pwd)/spec/rails7"
export RAILS_DIR
cd ${RAILS_DIR}
bundle install
bundle exec --gemfile ../../Gemfile rbs --version
bundle exec --gemfile ../../Gemfile rbs collection install
cd ../../
# bundle exec rbs collection init
# bundle exec rbs collection install
env:
MATRIX_SOLARGRAPH_VERSION: '>=0.56.0.pre1'
MATRIX_RAILS_VERSION: "7.0"
MATRIX_RAILS_MAJOR_VERSION: '7'
- name: Run specs
run: |
BUNDLE_PATH="${GITHUB_WORKSPACE:?}/vendor/bundle"
export BUNDLE_PATH
cd ../solargraph-rails
bundle exec solargraph --version
bundle info solargraph
bundle info rbs
bundle info yard
bundle exec rake spec
env:
MATRIX_SOLARGRAPH_VERSION: '>=0.56.0.pre1'
MATRIX_RAILS_VERSION: "7.0"
26 changes: 23 additions & 3 deletions .github/workflows/rspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,29 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
ruby-version: ['3.0', '3.1', '3.2', '3.3', '3.4', 'head']
ruby-version:
- '3.0'
- '3.1'
- '3.2'
- '3.3'
- '3.4'
# - 'head' - see https://github.com/castwide/solargraph/issues/1022
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'
# Missing require in 'rbs collection update' - hopefully
# fixed in next RBS release
- ruby-version: 'head'
rbs-version: '4.0.0.dev.4'
- ruby-version: 'head'
rbs-version: '3.9.4'
- ruby-version: 'head'
rbs-version: '3.6.1'
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
Expand All @@ -47,7 +62,8 @@ jobs:
- name: Install gems
run: |
bundle install
bundle update rbs # use latest available for this Ruby version
- name: Install types
run: bundle exec rbs collection update
- name: Run tests
run: bundle exec rake spec
undercover:
Expand All @@ -64,7 +80,11 @@ jobs:
ruby-version: '3.4'
bundler-cache: false
- name: Install gems
run: bundle install
run: |
bundle install
bundle update rbs # use latest available for this Ruby version
- name: Install types
run: bundle exec rbs collection update
- name: Run tests
run: bundle exec rake spec
- name: Check PR coverage
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/typecheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 4 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ Metrics/ParameterLists:
Max: 7
CountKeywordArgs: false

# we don't use the spec/solargraph directory, instead keeping things
# directly under spec.
RSpec/SpecFilePathFormat:
Enabled: false

# we tend to use @@ and the risk doesn't seem high
Style/ClassVars:
Expand Down
Loading
Loading