Skip to content

Lint with MRI and Spinel; require both implementations - #133

Merged
tobi merged 3 commits into
spinel-aot-osfrom
spinel-aot-lint
Aug 13, 2026
Merged

Lint with MRI and Spinel; require both implementations#133
tobi merged 3 commits into
spinel-aot-osfrom
spinel-aot-lint

Conversation

@tobi

@tobi tobi commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Summary

Stacked on #131.

  • rake lint runs ruby -c on try.rb and lib/**/*.rb always.
  • If spinel is on PATH (or SPINEL=/path/to/spinel), it also runs spinel -c try.rb (entrypoint pulls in lib via require_relative).
  • If Spinel is missing, lint warns and continues — CI without Spinel still goes green.
  • rake / rake test now run lint before unit+spec.

AGENTS.md: try must keep working on both MRI and Spinel AOT. Prefer Spinel-friendly Ruby or an MRI-compatible shim.

Test plan

  • PATH=/workspace/spinel/bin:$PATH rake lint — ruby -c + spinel -c
  • PATH=/usr/bin:/bin rake lint — ruby -c + warnings, exit 0

@tobi

tobi commented Aug 13, 2026

Copy link
Copy Markdown
Owner Author

TUI InputField work is no longer on this stack — it landed as #135 against main so this chain stays Spinel-only: #130#131#133.

tobi added 3 commits August 13, 2026 22:01
Warn (don't fail) when spinel is missing. ruby -c always; spinel -c try.rb
when present. AGENTS.md now says try must run on MRI and Spinel.
lib/fuzzy.rb and lib/tui.rb compile standalone. Minitest files do not
(and are not Spinel programs).
When Spinel is present, rake builds dist/try.c, cc's it to dist/try, runs
the full spec suite on the binary, and diffs outputs against MRI. Init's
ruby-vs-$0 prefix is normalized; everything else must match exactly.
@tobi
tobi force-pushed the spinel-aot-lint branch from f9a8415 to 6c84b88 Compare August 13, 2026 22:03
@tobi
tobi merged commit be56682 into main Aug 13, 2026
2 checks passed
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