Revert temporary CI stubs; fix rubocop-yard CollectionStyle crash - #30
Closed
apiology wants to merge 7 commits into
Closed
Revert temporary CI stubs; fix rubocop-yard CollectionStyle crash#30apiology wants to merge 7 commits into
apiology wants to merge 7 commits into
Conversation
This reverts commit 09be4a6. Co-authored-by: Cursor <cursoragent@cursor.com>
rubocop-yard 1.3 guards against YARD/CollectionStyle crashes on Hash/Array union types, but requires Ruby >= 3.3. Keep the :lint group optional so default installs (and the 3.1/3.2 matrix) skip it; linting CI opts in with BUNDLE_WITH=lint. Co-authored-by: Cursor <cursoragent@cursor.com>
bundle lock still resolves optional groups, so declare rubocop-yard only when RUBY_VERSION is new enough. Regenerate .rubocop_todo.yml so the lint job can fail hard again without continue-on-error. Co-authored-by: Cursor <cursoragent@cursor.com>
Diagnostics load .rubocop.yml plugins, so rubocop-rspec/rake must not live only in an optional group. Use rubocop-yard 1.3 on Ruby >= 3.3 and 1.0 on older Rubies. Narrow a String|nil access in UpdateErrors. Co-authored-by: Cursor <cursoragent@cursor.com>
Add missing @param/@return where type errors lacked them; suppress remaining strong-level issues with @sg-ignore carrying the error text for later cleanup. Co-authored-by: Cursor <cursoragent@cursor.com>
# Conflicts: # lib/solargraph/api_map/constants.rb # lib/solargraph/rbs_map/conversions.rb # lib/solargraph/source.rb # lib/solargraph/source/chain/instance_variable.rb # lib/solargraph/type_checker.rb # solargraph.gemspec
Master raised overcommit from ~> 0.68.0 to ~> 0.71.0 in solargraph.gemspec while this branch moved the declaration to the Gemfile, so git merged both sides cleanly and the bump landed on a line that no longer exists. Apply it where the declaration now lives.
apiology
marked this pull request as draft
September 6, 2026 17:26
apiology
added a commit
that referenced
this pull request
Sep 6, 2026
rubocop-yard 1.3 fixes the YARD CollectionStyle crash seen with yard 0.9.44, but it requires Ruby 3.3 or newer. This repo supports Ruby 3.1 and up and runs specs on 3.1 and 3.2, so the dependency has to be version-gated: 3.3 and newer take 1.3, older Rubies keep 1.0.x. A gemspec cannot express a conditional dependency, and a gem cannot be declared in both the gemspec and the Gemfile, so rubocop-yard alone moves. The other RuboCop gems have no such condition and stay put. Cherry-picked from #30, which cannot land as a whole.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Temporary job stubs (#1200)), restoring hard failures for previouslycontinue-on-errorCI steps.rubocop-yard1.3 on Ruby ≥ 3.3 (CollectionStyle crash fix) and 1.0 on older Rubies; keeps RuboCop plugins always installed so diagnostics/formatting work. Overcommit stays in an optional:lintgroup (BUNDLE_WITH=lint)..rubocop_todo.ymland narrows aString|nilaccess inUpdateErrors.@param/@returntags and@sg-ignoresuppressions (with the error text) for remaining debt to address in follow-up PRs.Test plan
rubocop,.rubocop_todo.yml,overcommit)Solargraph / strongtypecheck is green