Skip to content

Check dependent references - #158

Merged
mtsmfm merged 2 commits into
mainfrom
check-dependent-references
Sep 16, 2026
Merged

mtsmfm merged 2 commits into
mainfrom
check-dependent-references

Conversation

@mtsmfm

@mtsmfm mtsmfm commented Sep 16, 2026

Copy link
Copy Markdown
Owner

No description provided.

mtsmfm and others added 2 commits September 16, 2026 22:39
…pins

Make the dependent test workflow install the released
language_server-protocol gem and then overwrite its lib/ and sig/ with
the local checkout. Dependents and their transitive dependencies from
rubygems.org (standard -> rubocop, rubocop -> ruby-lsp) pin
language_server-protocol to a released version range such as
"~> 3.17.0", so bundler cannot resolve an unreleased version (e.g. a
new 3.x.0.0) from a path source. The step verifies that the loaded
VERSION matches the local checkout.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AR4y4vf6QWCk6mzN1dYmmf
The dependent test workflow only catches a removed or renamed constant
when the dependent's test suite happens to exercise it. Add
bin/check_references, which parses the dependent's Ruby sources with
Prism, resolves aliases such as `LSP = LanguageServer::Protocol` and
`Interface = LanguageServer::Protocol::Interface`, and fails when a
referenced constant does not exist in the loaded gem. Constants the
dependent defines itself (e.g. Steep::Interface::Substitution) are
ignored.

The script declares its Prism dependency with bundler/inline so it can
run with plain `ruby` from a dependent's checkout; Prism ships with
Ruby 3.3+, so no download happens on a current Ruby. Run it before the
dependent's tests in the workflow.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AR4y4vf6QWCk6mzN1dYmmf
@mtsmfm
mtsmfm force-pushed the check-dependent-references branch 2 times, most recently from 46ee5d1 to d813784 Compare September 16, 2026 13:58
@mtsmfm
mtsmfm marked this pull request as ready for review September 16, 2026 14:09
@mtsmfm
mtsmfm merged commit f7068bc into main Sep 16, 2026
48 checks passed
@mtsmfm
mtsmfm deleted the check-dependent-references branch September 16, 2026 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant