Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
268 commits
Select commit Hold shift + click to select a range
5749c42
Add gem
apiology Jan 29, 2026
2888594
Finish Rakefile changes
apiology Jan 29, 2026
afb3fe0
Fix issue revealed by more aggressive setting of DEBUG log level
apiology Jan 29, 2026
310408e
Use valid values for parameters in tests
apiology Jan 29, 2026
750b371
Add missing step in spec
apiology Jan 29, 2026
f8da41c
Add .envrc to set number of parallel jobs
apiology Jan 29, 2026
d4a21e6
Add debug logging
apiology Jan 29, 2026
2e94d97
Merge branch 'better_logging_testing' into parallel_rspec
apiology Jan 29, 2026
70f0c5f
Rely on bundler installed by ruby/setup-ruby
apiology Jan 29, 2026
96ef0c5
Merge branch 'speed_up_specs' into parallel_rspec
apiology Jan 29, 2026
7a05bb2
Swap to name that prspec triggers on
apiology Jan 29, 2026
c26e6d6
Set PARALLEL throughout based on number of physical cores
apiology Jan 29, 2026
f2b16af
Debug
apiology Jan 29, 2026
0adb139
Bump prspec version
apiology Jan 29, 2026
13eda65
Flag individual sub-contexts for parallel_rspec
apiology Jan 29, 2026
a1629b5
Try ApiMap.new
apiology Jan 29, 2026
e46e6b3
More prspec updates
apiology Jan 29, 2026
dba7d29
Fix nil violation found in tests
apiology Jan 29, 2026
8a4d722
Debug
apiology Jan 29, 2026
f8260b4
Another nil fix
apiology Jan 29, 2026
2dabf64
Avoid direct reference to current directory
apiology Jan 29, 2026
4949ce1
Drop @sg-ignore
apiology Jan 29, 2026
51f34ce
Add PROJECT_DIRECTORY to avoid chdir issues
apiology Jan 29, 2026
dee9fb6
Try using main api_map
apiology Jan 29, 2026
d671728
Try excluding
apiology Jan 29, 2026
0b8bbce
Use bundler cache more
apiology Jan 29, 2026
cb976e2
Include psych in compilation
apiology Jan 29, 2026
9c92f57
Fix nil gemspecs list
apiology Jan 29, 2026
d39049e
Debug
apiology Jan 29, 2026
8dc1f38
Debug
apiology Jan 30, 2026
cf3dfb3
Debug
apiology Jan 30, 2026
d67378e
Mark fixed
apiology Jan 30, 2026
7edf8b8
More things run serially
apiology Jan 30, 2026
1965e63
More things run serially
apiology Jan 30, 2026
0cdb4ef
Fix typo
apiology Jan 30, 2026
0eaf53d
Deal with another filesystem conflict
apiology Jan 30, 2026
12b2f30
Deal with another filesystem conflict
apiology Jan 30, 2026
1c5c969
Set spec timeout
apiology Jan 30, 2026
bcbf9a9
Avoid race conditions caching/uncaching backport
apiology Jan 31, 2026
936d3b4
Remove lint issue, reduce race condition
apiology Jan 31, 2026
59a0bd6
Don't use same filename in multiple parallel specs
apiology Jan 31, 2026
38d4a96
Merge branch 'repro_rbs' into parallel_rspec
apiology Jan 31, 2026
535f21d
Apply suggestion from @apiology
apiology Jan 31, 2026
1818382
rubocop -a
apiology Jan 31, 2026
9adce4c
rubocop -A
apiology Jan 31, 2026
07a8940
Merge branch '2026-01-27' into parallel_rspec
apiology Jan 31, 2026
d3cc536
Fix rubocop todo issues
apiology Jan 31, 2026
6dc4f94
Debug
apiology Jan 31, 2026
99f55d3
Revert some changes
apiology Jan 31, 2026
ee07001
Overwrite api_map in context
apiology Jan 31, 2026
99c8241
Try another caching approach
apiology Jan 31, 2026
5a86947
Try another caching approach
apiology Jan 31, 2026
9eb3a6a
Fix merge issue
apiology Jan 31, 2026
74c7970
Add before :context
apiology Jan 31, 2026
c6702c9
More after :context
apiology Jan 31, 2026
6bc40d6
Add more before :contexts
apiology Feb 1, 2026
96daa5d
Fix merge issue
apiology Feb 1, 2026
e8a33a5
Fix merge
apiology Feb 1, 2026
6ba49d0
Fix merge
apiology Feb 1, 2026
4568e8d
Log gem caching to $stderr to help see where test time is going
apiology Feb 1, 2026
00c19e3
Add another before :context
apiology Feb 1, 2026
cbc9d09
Fix expectation
apiology Feb 1, 2026
b5ae43f
Stop bundle installing with every example in shell_spec
apiology Feb 1, 2026
94f1229
Move function
apiology Feb 1, 2026
9138a73
Debug
apiology Feb 1, 2026
75fd252
Simplify version spec
apiology Feb 1, 2026
056c3ca
Debug
apiology Feb 1, 2026
d866dc0
Debug
apiology Feb 1, 2026
203a4f8
Debug
apiology Feb 1, 2026
854e916
Debug
apiology Feb 1, 2026
4ae10a5
Debug
apiology Feb 1, 2026
3014abe
Debug
apiology Feb 1, 2026
c0c340e
Speed up bundle install
apiology Feb 1, 2026
c210441
Debug
apiology Feb 1, 2026
83d8da9
Debug
apiology Feb 1, 2026
819bf43
Debug
apiology Feb 1, 2026
8a220c4
Debug Gemfile.lock
apiology Feb 1, 2026
547276b
Debug slowness
apiology Feb 1, 2026
27a171c
Bump time limit
apiology Feb 1, 2026
3dd98b0
Debug
apiology Feb 1, 2026
be64b85
Debug
apiology Feb 1, 2026
83ce3d3
Debug
apiology Feb 1, 2026
6c80bae
Debug
apiology Feb 1, 2026
07db6a3
Debug
apiology Feb 1, 2026
b6ee022
Debug
apiology Feb 1, 2026
ea94901
Debug
apiology Feb 1, 2026
a6a4678
Debug
apiology Feb 1, 2026
a61c785
Fix
apiology Feb 1, 2026
1be808f
Debug
apiology Feb 1, 2026
215c23e
Use default config if none provided for require paths
apiology Feb 1, 2026
3b4f3d2
Fix incorrect spec config
apiology Feb 1, 2026
525c1b3
Debug
apiology Feb 1, 2026
e912db6
Debug
apiology Feb 1, 2026
56bb7c5
Debug
apiology Feb 1, 2026
40fe7fd
Debug
apiology Feb 1, 2026
102d357
Revert debugging
apiology Feb 1, 2026
8089dd5
Another before :context case
apiology Feb 1, 2026
a5e2bde
Avoid actually uncaching things if not needed
apiology Feb 1, 2026
a4dfc52
Debug
apiology Feb 1, 2026
a07be09
Move to PARALLEL=3
apiology Feb 1, 2026
9953848
Move to WORKERS=3
apiology Feb 1, 2026
2291d71
Try 2 workers
apiology Feb 1, 2026
1b0ad59
Try 1 worker
apiology Feb 1, 2026
6a6efe1
Set WORKERS=5
apiology Feb 1, 2026
6943b50
Set WORKERS=6
apiology Feb 1, 2026
2adc097
Try 7 workers
apiology Feb 1, 2026
b6d8eb6
Disable coverage checking
apiology Feb 1, 2026
474a29f
7 workers
apiology Feb 1, 2026
0e885ff
Avoid uncaching core
apiology Feb 1, 2026
642edef
8 workers
apiology Feb 1, 2026
9a863a3
Drop simplecov
apiology Feb 1, 2026
a6926e6
1 worker
apiology Feb 2, 2026
fd86a5e
4 workers
apiology Feb 2, 2026
da9e506
Debug
apiology Feb 2, 2026
a64e773
Debug
apiology Feb 2, 2026
be93692
Debug
apiology Feb 2, 2026
a82b6fd
Reduce background syncs
apiology Feb 2, 2026
cc37729
Try again
apiology Feb 2, 2026
fd69799
Run specs in unbundled env
apiology Feb 2, 2026
b2d8fb6
Try again
apiology Feb 2, 2026
38a93e2
Debug
apiology Feb 2, 2026
fc6e874
Try again
apiology Feb 2, 2026
849747e
Debug
apiology Feb 2, 2026
1669309
Debug
apiology Feb 2, 2026
5e72ef4
Debug
apiology Feb 2, 2026
de8d4ac
Drop dead before block
apiology Feb 6, 2026
9f7cd02
Fix expectations in now-working spec
apiology Feb 6, 2026
d801cf1
Fix only-failures issues
apiology Feb 6, 2026
7704c91
Switch to gem with fewer depenencies to speed up spec
apiology Feb 6, 2026
8fee670
Update expectations in other specs
apiology Feb 6, 2026
0fa1c00
Debug
apiology Feb 6, 2026
68cf467
Debug
apiology Feb 6, 2026
3e3be1a
Add caching of default gems
apiology Feb 6, 2026
c4c1e8f
Revert
apiology Feb 6, 2026
96482b8
Avoid unneeded gem caching for perf
apiology Feb 6, 2026
b4556c0
Debug
apiology Feb 6, 2026
5c235dc
Debug
apiology Feb 6, 2026
df0c205
Debug
apiology Feb 6, 2026
b34c3d0
Debug
apiology Feb 6, 2026
eb79d3b
Debug
apiology Feb 6, 2026
e981123
Debug
apiology Feb 6, 2026
31648e3
Debug
apiology Feb 6, 2026
a55b54a
Debug
apiology Feb 6, 2026
0e08bf8
Debug
apiology Feb 6, 2026
2af160d
Debug
apiology Feb 6, 2026
53676c5
Drop extra /
apiology Feb 6, 2026
59b460d
Debug
apiology Feb 6, 2026
b5bcd4b
Debug
apiology Feb 6, 2026
dda8322
Debug
apiology Feb 6, 2026
a82ab1a
Debug
apiology Feb 6, 2026
f7b84a1
Debug
apiology Feb 6, 2026
c5d86e3
Debug
apiology Feb 6, 2026
25d01ef
Debug
apiology Feb 6, 2026
73de5c5
Drop workers experimentation
apiology Feb 6, 2026
25457a8
Consistency fixes
apiology Feb 6, 2026
3e85551
Drop @param
apiology Feb 6, 2026
d10e029
Docs
apiology Feb 6, 2026
a4bd2bd
Drop debugging
apiology Feb 6, 2026
16fb502
Drop debugging
apiology Feb 6, 2026
d707e04
Revert debugging
apiology Feb 6, 2026
b8b18c4
Drop unneeded Config.new
apiology Feb 6, 2026
aa8979c
Revert updates
apiology Feb 6, 2026
fefdeba
Fix annotation
apiology Feb 6, 2026
792e857
Revert
apiology Feb 6, 2026
23ccc34
Fix log message
apiology Feb 6, 2026
6e06cd2
Cache workspace gems in parallel
apiology Feb 7, 2026
a1aeac2
Cache workspace gems in parallel
apiology Feb 7, 2026
81b3ae0
Cache docmap gems in parallel
apiology Feb 7, 2026
91b8852
Add --workspace flag, default to docmap caching
apiology Feb 7, 2026
013deaf
Fix API break
apiology Feb 7, 2026
98953f7
Fix nil issue
apiology Feb 7, 2026
e0b28e0
Fix spec
apiology Feb 7, 2026
c6d7ea9
Cache more up front in rspec_specs
apiology Feb 7, 2026
1f599e9
Drop unneeded nil case
apiology Feb 7, 2026
17d3a2b
Avoid chdir issues
apiology Feb 7, 2026
093bd2a
Cache more gems
apiology Feb 7, 2026
48b4540
Cache more gems
apiology Feb 7, 2026
b1bdc91
Add speedups
apiology Feb 7, 2026
a4341d1
Speed up gem caching
apiology Feb 7, 2026
5283a52
Spec perf fixes
apiology Feb 7, 2026
cb06aea
Fix expectations
apiology Feb 7, 2026
a5d028d
Speed up
apiology Feb 7, 2026
5cd2d83
Try empty dir load
apiology Feb 7, 2026
07acb5c
Precache less in spec
apiology Feb 7, 2026
1e3f1a4
Fix precache
apiology Feb 7, 2026
30812e7
Speed up specs
apiology Feb 7, 2026
7246007
?
apiology Feb 7, 2026
940fc3f
Simplify spec
apiology Feb 7, 2026
055281f
Run specs in order
apiology Feb 7, 2026
0f2b5f3
Move to parallel_test gem
apiology Feb 8, 2026
66f9cc1
Move to parallel_test gem
apiology Feb 8, 2026
eca6e43
Pull in latest rubygems
apiology Feb 8, 2026
b0356db
Set seed
apiology Feb 8, 2026
1423df5
Update parallel_tests version
apiology Feb 8, 2026
b109d57
--order defined
apiology Feb 8, 2026
5cad315
Add --profile
apiology Feb 8, 2026
0094cfd
Use runtime log
apiology Feb 8, 2026
71b2930
Add SummaryLogger
apiology Feb 8, 2026
d75676b
Add progress formatter
apiology Feb 8, 2026
c5eb7d5
Add better caching
apiology Feb 8, 2026
75e6a4e
Use random filename in spec
apiology Feb 8, 2026
0c2bfb5
Debug
apiology Feb 9, 2026
193852d
Add (back?) cd
apiology Feb 9, 2026
7b2cf31
Fix spec
apiology Feb 9, 2026
676a616
Handle SIMPLECOV_DISABLED
apiology Feb 9, 2026
ba9645c
Debug
apiology Feb 9, 2026
436f90c
Drop RuntimeLogger by default
apiology Feb 9, 2026
d2db644
Clean up .rspec_parallel
apiology Feb 9, 2026
4c000a8
Add verbose logger note
apiology Feb 9, 2026
c5f257d
Debug
apiology Feb 10, 2026
ab906f5
Drop assignment
apiology Feb 10, 2026
922f077
Drop unneeded line
apiology Feb 10, 2026
afb2531
Fix rubocop issue
apiology Feb 10, 2026
b4eecad
Add rebuild option
apiology Feb 10, 2026
59b1df9
Use rebuild flag
apiology Feb 10, 2026
7402c66
See if static filenames matter
apiology Feb 10, 2026
de2fd1d
Avoid chdir timing issues
apiology Feb 11, 2026
9f3f644
Test uncaching something other than backport, just in case
apiology Feb 11, 2026
5bc3207
Another chance at catching chdirs
apiology Feb 11, 2026
a1672ad
Avoid flaky specs around backport gem modification
apiology Feb 11, 2026
ddb5276
Fix expectations
apiology Feb 11, 2026
f4a1501
Restore normal order in .rspec/.rspec_parallel
apiology Feb 11, 2026
86060f0
Drop before :context needed only for unused prspec
apiology Feb 11, 2026
454aa77
Clean up
apiology Feb 11, 2026
f6e70c6
Restore diff
apiology Feb 11, 2026
e076205
Revert
apiology Feb 11, 2026
0324b2f
Remove before :context
apiology Feb 11, 2026
baa84a6
Revert
apiology Feb 11, 2026
04e39b5
Revert
apiology Feb 11, 2026
d0bcb25
Try another approach to the diagnoser background thread chdir issue
apiology Feb 11, 2026
49a6d3c
Fix perpetual loop
apiology Feb 11, 2026
8171aa0
Fix fully_stopped? logic
apiology Feb 11, 2026
2ec00a4
Avoid chdir block
apiology Feb 11, 2026
1dccd5d
Log ticks
apiology Feb 11, 2026
7d9b787
Log ticks
apiology Feb 11, 2026
df9ad9b
Debug
apiology Feb 11, 2026
2308868
Log ticks
apiology Feb 11, 2026
7177237
Debug
apiology Feb 11, 2026
2f6e441
Debug
apiology Feb 11, 2026
e7873d8
Debug
apiology Feb 11, 2026
90476b7
Bump timeout
apiology Feb 11, 2026
5231a27
Drop a before context block
apiology Feb 12, 2026
bef158b
Debug
apiology Feb 12, 2026
49faea6
Drop prspec blocks
apiology Feb 12, 2026
5219dec
Debug
apiology Feb 12, 2026
aea00fc
Reorg flaky spec
apiology Feb 12, 2026
9b9db98
2026-01-27 dev branch (#1165)
apiology Feb 28, 2026
b507345
Merge remote-tracking branch 'castwide/v0.59' into parallel_rspec
apiology Mar 2, 2026
3eb0db1
Fix typechecking issue
apiology Mar 2, 2026
a74e9be
Fix merge
apiology Mar 2, 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
7 changes: 7 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
#!/bin/bash

if [[ "$(uname)" == "Darwin" ]]; then
WORKERS=$(sysctl -n hw.physicalcpu)
export WORKERS
fi

# 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
4 changes: 2 additions & 2 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ jobs:
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
bundler-cache: false
bundler-cache: true

- name: Install gems
run: bundle install
Expand All @@ -103,7 +103,7 @@ jobs:
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
bundler-cache: false
bundler-cache: true
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a pretty big speedup. If having the very latest version of a dependency is vital, we can add a bundle update statement later on.


- name: Install gems
run: bundle install
Expand Down
217 changes: 188 additions & 29 deletions .github/workflows/plugins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ permissions:
contents: read

jobs:
regression:
rails_and_rspec_typechecking:
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm breaking these steps into parallel items for time savings and also clearing up the names a bit

runs-on: ubuntu-latest

steps:
Expand Down Expand Up @@ -44,9 +44,52 @@ jobs:
run: bundle exec rbs collection update
- name: Ensure typechecking still works
run: bundle exec solargraph typecheck --level strong
rails_and_rspec_specs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
bundler-cache: true
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: yq
version: 1.0
- name: Install gems
run: |
echo 'gem "solargraph-rails"' > .Gemfile
echo 'gem "solargraph-rspec"' >> .Gemfile
bundle install
bundle update --pre 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
# avoid trying to do this in parallel during the specs
time bundle exec solargraph gems core stdlib default
- name: Ensure specs still run
run: bundle exec rake spec
rails:
run: |
# Speed up some of the bundle installs we run inside the tests
# as well when we're testing different solargraph usage
# scenarios. This is already set in the local bundle config by
# the setup-ruby action.
#
# See
# https://github.com/ruby/setup-ruby?tab=readme-ov-file#caching-bundle-install-automatically
bundle config set path $PWD/vendor/bundle

SIMPLECOV_DISABLED=true
export SIMPLECOV_DISABLED

bundle exec rake full_spec
rails_typechecking:
runs-on: ubuntu-latest

steps:
Expand All @@ -57,7 +100,7 @@ jobs:
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
bundler-cache: true
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: yq
Expand All @@ -75,9 +118,51 @@ jobs:
run: bundle exec rbs collection update
- name: Ensure typechecking still works
run: bundle exec solargraph typecheck --level strong
rails_specs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
rubygems: latest
bundler-cache: true
- 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 --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
# avoid trying to do this in parallel during the specs
bundle exec solargraph gems core stdlib
- name: Ensure specs still run
run: bundle exec rake spec
rspec:
run: |
# Speed up some of the bundle installs we run inside the tests
# as well when we're testing different solargraph usage
# scenarios. This is already set in the local bundle config by
# the setup-ruby action.
#
# See
# https://github.com/ruby/setup-ruby?tab=readme-ov-file#caching-bundle-install-automatically
bundle config set path $PWD/vendor/bundle

SIMPLECOV_DISABLED=true
export SIMPLECOV_DISABLED

bundle exec rake full_spec
rspec_typechecking:
runs-on: ubuntu-latest

steps:
Expand All @@ -86,7 +171,7 @@ jobs:
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4 # keep same as typecheck.yml
bundler-cache: false
bundler-cache: true
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: yq
Expand All @@ -104,9 +189,53 @@ jobs:
run: bundle exec rbs collection update
- name: Ensure typechecking still works
run: bundle exec solargraph typecheck --level strong
rspec_specs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4 # keep same as typecheck.yml
bundler-cache: true
- 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 --pre rbs
- name: Configure to use plugins
run: |
bundle exec solargraph config
yq -yi '.plugins += ["solargraph-rspec"]' .solargraph.yml
- name: Install gem types
run: |
set -x

bundle exec rbs collection update

rspec_gems=$(bundle exec ruby -r 'solargraph-rspec' -e 'puts Solargraph::Rspec::Gems.gem_names.join(" ")' 2>/dev/null | tail -n1)
# avoid trying to do this in parallel during the specs
bundle exec solargraph gems core stdlib $rspec_gems diff-lcs addressable ast rexml crack hashdiff rspec-support bigdecimal public_suffix
- name: Ensure specs still run
run: bundle exec rake spec
run: |
# Speed up some of the bundle installs we run inside the tests
# as well when we're testing different solargraph usage
# scenarios. This is already set in the local bundle config by
# the setup-ruby action.
#
# See
# https://github.com/ruby/setup-ruby?tab=readme-ov-file#caching-bundle-install-automatically
bundle config set path $PWD/vendor/bundle

SIMPLECOV_DISABLED=true
export SIMPLECOV_DISABLED

bundle exec rake full_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
Expand All @@ -129,14 +258,14 @@ jobs:
with:
ruby-version: 3.4
rubygems: latest
bundler-cache: false
bundler-cache: true
- name: Install gems
run: |
set -x

cd ../solargraph-rspec
echo "gem 'solargraph', path: '../solargraph'" >> Gemfile
bundle config path ${{ env.BUNDLE_PATH }}
bundle config set path ${{ env.BUNDLE_PATH }}
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The former invocation now gives a deprecation warning

bundle install --jobs 4 --retry 3
bundle exec appraisal install
# @todo some kind of appraisal/bundle conflict?
Expand Down Expand Up @@ -166,7 +295,21 @@ jobs:
bundle exec appraisal solargraph gems $rspec_gems
- name: Run specs
run: |
# Speed up some of the bundle installs we run inside the tests
# as well when we're testing different solargraph usage
# scenarios. This is already set in the local bundle config by
# the setup-ruby action.
#
# See
# https://github.com/ruby/setup-ruby?tab=readme-ov-file#caching-bundle-install-automatically
bundle config set path $PWD/vendor/bundle
cd ../solargraph-rspec

SIMPLECOV_DISABLED=true
export SIMPLECOV_DISABLED

# avoid trying to do this in parallel during the specs
bundle exec solargraph gems core stdlib
bundle exec appraisal rspec --format progress

run_solargraph_rails_specs:
Expand All @@ -184,42 +327,58 @@ jobs:
with:
# solargraph-rails supports Ruby 3.0+
ruby-version: '3.0'
bundler-cache: false
bundler-cache: true
# https://github.com/apiology/solargraph/actions/runs/19400815835/job/55508092473?pr=17
rubygems: latest
bundler: latest
env:
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 --pre 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
set -x
# Share caches to speed up bundle install
#
# See
# https://github.com/ruby/setup-ruby?tab=readme-ov-file#caching-bundle-install-automatically
cd ../solargraph-rails
echo "gem 'solargraph', path: '${GITHUB_WORKSPACE:?}'" >> Gemfile
bundle install
bundle update --pre rbs
env:
MATRIX_RAILS_VERSION: "7.0"
MATRIX_RAILS_MAJOR_VERSION: '7'
- name: Install gem types
run: |
cd ../solargraph-rails

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_RAILS_VERSION: "7.0"
MATRIX_RAILS_MAJOR_VERSION: '7'
- name: Run specs
run: |
BUNDLE_PATH="${GITHUB_WORKSPACE:?}/vendor/bundle"
export BUNDLE_PATH
# Share caches to speed up bundle install
#
# See
# https://github.com/ruby/setup-ruby?tab=readme-ov-file#caching-bundle-install-automatically
bundle config set path $PWD/vendor/bundle
cd ../solargraph-rails
bundle exec solargraph --version
bundle info solargraph
bundle info rbs
bundle info yard

SIMPLECOV_DISABLED=true
export SIMPLECOV_DISABLED

ALLOW_IMPROVEMENTS=true bundle exec rake spec
env:
MATRIX_RAILS_VERSION: "7.0"
Loading
Loading