solargraph icon indicating copy to clipboard operation
solargraph copied to clipboard

Run specs from plugin projects configured against current code

Open apiology opened this issue 9 months ago • 5 comments

  • [X] Get solargraph-rails spec failures on apiology/solargraph:2025-04-28 and apiology/solargraph-rails:2025-05-07 to 29
  • [X] Get solargraph-rails spec failures on apiology/solargraph:2025-04-28 and apiology/solargraph-rails:2025-05-07 to 22
  • [X] Get solargraph-rails spec failures on apiology/solargraph:2025-04-28 and apiology/solargraph-rails:2025-05-07 to 20
  • [X] Get solargraph-rails spec failures on apiology/solargraph:2025-04-28 and apiology/solargraph-rails:2025-05-07 to 19
  • [x] Get solargraph-rails spec failures on apiology/solargraph:2025-04-28 and apiology/solargraph-rails:2025-05-07 to 11
  • [x] Get solargraph-rails spec failures on apiology/solargraph:2025-04-28 and apiology/solargraph-rails:2025-05-07 to 0
  • [ ] Merge https://github.com/castwide/solargraph/pull/946
  • [ ] Merge https://github.com/castwide/solargraph/pull/948
  • [ ] Merge https://github.com/castwide/solargraph/pull/942
  • [ ] Get solargraph-rails spec failures on apiology/solargraph:run_plugin_specs and solargraph-rails:main to 0
  • [ ] Get solargraph-rails spec failures on solargraph:master and solargraph-rails:main to 0
  • [ ] Get solargraph-rspec spec failures on solargraph:master and solargraph-rspec:main to 0

apiology avatar Apr 12 '25 12:04 apiology

Hi @lekemula! I almost broke compatibility with solargraph-rspec in #890 :(. I'd like to set CI up here to ensure that solargraph-rspec specs run when configured against the solargraph code in the PR. There do seem to be some existing failures, though.

I know at least some of these are pending #877 - if you get a chance, though, could you take a look at the others and let me know whether the problem seems to be in solargraph or solargraph-rspec or just a spec adjustment to make?

apiology avatar Apr 12 '25 13:04 apiology

Hi @apiology, thanks for all the incredible work that you're doing, and particularly for adding this pipeline, which is obviously a much-needed one, seeing the recent regressions.

So I took a look into this here, and as you've guessed:

  • Some of the failures are just small adjustments (see here and here)
  • The others (regarding 3rd party rspec gems support) should probably get fixed by https://github.com/castwide/solargraph/pull/877

But there is one failure that seems to be legit though: see this commit

  3) Solargraph::Rspec::Convention type inference infers type for
some_module
     Failure/Error: inferred_return_type = pin.probe(api_map).tag

     RuntimeError:
       You must supply parameters_type if you provide parameters
     # /Users/lekemula/Projects/solargraph/lib/solargraph/complex_type/unique_type.rb:64:in
`initialize'
     # /Users/lekemula/Projects/solargraph/lib/solargraph/complex_type/unique_type.rb:245:in
`new'
     # /Users/lekemula/Projects/solargraph/lib/solargraph/complex_type/unique_type.rb:245:in
`recreate'

That seems to be coming from https://github.com/castwide/solargraph/pull/813 - any ideas what could be missing there?

Another interesting finding is that the fixes from solargraph 0.53.0, seem to be regressed in solargraph 0.53.3 - @castwide any ideas what could be causing that?

I should probably try to keep solargraph-rspec specs more up-to-date and running against the latest solargraph release, at least until we have this pipeline up and running 🚀

lekemula avatar Apr 13 '25 13:04 lekemula

Thank you for your kind words!

Could you try bundle exec solargraph clear and see if it still happens? I've been breaking compatibility with the solargraph cached pins between PRs, so you may have some cached pins hanging around.

apiology avatar Apr 13 '25 14:04 apiology

Thank you for your kind words!

Could you try bundle exec solargraph clear and see if it still happens? I've been breaking compatibility with the solargraph cached pins between PRs, so you may have some cached pins hanging around.

It fixed 🥳 - thank you!

So I guess we just need to wait for https://github.com/castwide/solargraph/pull/877.

lekemula avatar Apr 13 '25 19:04 lekemula

So I guess we just need to wait for #877.

I want to fix support for global conventions very soon. It won't be in the release coming this month, unfortunately, but hopefully the release after that.

castwide avatar Apr 14 '25 00:04 castwide

I commented out the solargraph-rspec specs for now until they pass against solargraph's master branch - but all of the machinery should be there and ready to go.

apiology avatar Jun 28 '25 21:06 apiology

This is ready to go. I haven't gotten solargraph-rspec working yet, but I can do that in a follow-up PR once I have a chance to dig in on it.

apiology avatar Jul 02 '25 19:07 apiology