Skip to content

Replace Aruba with direct API calls#571

Merged
etagwerker merged 1 commit into
whitesmith:mainfrom
faisal:replace_aruba
Jun 12, 2026
Merged

Replace Aruba with direct API calls#571
etagwerker merged 1 commit into
whitesmith:mainfrom
faisal:replace_aruba

Conversation

@faisal

@faisal faisal commented May 24, 2026

Copy link
Copy Markdown
Contributor

Aruba is a recurring source of dependency conflicts when updating Rubycritic dependencies*. Update Aruba call sites to call the underlying command line calls directly. Call with Open3 so as to capture results and return status.

* Most recently, being able to update to diff-lcs 2.0, which we do in this commit. We ran into it more before when Rubycritic relied on Cucumber, though it doesn't any more.

Check list:

@faisal

faisal commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

@etagwerker, @JuanVqz Would you rather remove the Aruba requirement, or just manage its progression?

@JuanVqz JuanVqz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@faisal Thanks for this.

The justification checks out: with the Cucumber features already gone, aruba is the only dev dependency still pulling in cucumber and rspec-expectations, both of which cap diff-lcs at < 2.0.

Removing aruba is what unblocks diff-lcs ~> 2.0, and I confirmed Diff::LCS.sdiff/unchanged? (the only API we use in test_helper.rb) still works on diff-lcs 2.0 CI is green across all Ruby versions.

To answer your question: let's remove aruba, this PR does it cleanly.

cc @etagwerker

Comment thread test/integration/integration_test_helper.rb Outdated
Aruba is a recurring source of dependency conflicts when updating Rubycritic dependencies*.
Update Aruba call sites to call the underlying command line calls directly.
Call with Open3 so as to capture results and return status.

* Most recently, being able to update to diff-lcs 2.0, which we do in this commit.
We ran into it more before when Rubycritic relied on Cucumber, though it doesn't any more.

Credit to @JuanVqz for the timeout handling code in IntegrationTestHelper.
@faisal

faisal commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

Took @JuanVqz's tweak (thank you!), suppressed the resulting rubocop warning, and squashed down to one commit.

@etagwerker etagwerker left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@faisal Looks good, thanks!

@etagwerker etagwerker merged commit 07f5e50 into whitesmith:main Jun 12, 2026
26 checks passed
@faisal faisal deleted the replace_aruba branch June 12, 2026 21: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.

3 participants