Skip to content

test: Add bin/test helper to invoke specs with mise#2983

Draft
sl0thentr0py wants to merge 1 commit into
neel/relockfrom
neel/mise-test
Draft

test: Add bin/test helper to invoke specs with mise#2983
sl0thentr0py wants to merge 1 commit into
neel/relockfrom
neel/mise-test

Conversation

@sl0thentr0py

@sl0thentr0py sl0thentr0py commented Jun 23, 2026

Copy link
Copy Markdown
Member
  • ./bin/test -l: list all cells across gems
  • ./bin/test --gem <gem>: scope by gem, picks latest cell automatically if not supplied
  • ./bin/test --cell <cell>: run a cell's specs under its mise ruby
  • ./bin/test --cell <cell> -- <spec args>: forward args to rspec
  • ./bin/test --cell <cell> --rake: run bundle exec rake like CI
  • extract shared cell/mise machinery into bin/lib/matrix.rb (used by relock and test)
  • per gem ./bin/test wrappers that pass through to top level command
  • rename old rails bin/test -> bin/test_old

Issues

@sl0thentr0py sl0thentr0py changed the base branch from master to neel/relock June 23, 2026 13:42
@sl0thentr0py sl0thentr0py changed the title neel/mise test test: Add bin/test helper to invoke specs with mise Jun 23, 2026
@linear-code

linear-code Bot commented Jun 23, 2026

Copy link
Copy Markdown

RUBY-180

@sl0thentr0py sl0thentr0py force-pushed the neel/mise-test branch 2 times, most recently from d98f2a3 to 9cb3f25 Compare June 23, 2026 14:05
* `./bin/test -l`: list all cells across gems
* `./bin/test --gem <gem>`: scope by gem, picks latest cell automatically if
  not supplied
* `./bin/test --cell <cell>`: run a cell's specs under its mise ruby
* `./bin/test --cell <cell> -- <spec args>`: forward args to rspec
* `./bin/test --cell <cell> --rake`: run `bundle exec rake` like CI
* per gem `./bin/test` wrappers that pass through to top level command
* rename old rails `bin/test` -> `bin/test_old`
* extract shared cell/mise machinery into `bin/lib/matrix.rb` (used by relock and test)
@sl0thentr0py sl0thentr0py marked this pull request as ready for review June 23, 2026 14:17
@sl0thentr0py sl0thentr0py marked this pull request as draft June 23, 2026 14:19

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit a8c079f. Configure here.

Comment thread bin/test
base = File.basename(parts[gi + 1], ".gemfile")

cell = discover_cells([gem]).find { |c| c.base == base }
abort "No cell '#{base}' in #{gem}/test-matrix.json. `bin/test -l` to list." unless cell

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Duplicate wrapper paths drop matrix rows

Medium Severity

discover_cells deduplicates by wrapper, and --cell resolves a row only by base, so two test-matrix.json entries that share the same gemfile path but differ in options.rubyopt collapse to one cell. A --cell run for that path always applies the surviving row’s RUBYOPT, so the other CI job cannot be mirrored locally.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit a8c079f. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant