chore: Release version 3.6.0 — restore Ruby 2.6 support#17
Merged
Conversation
- Restore Ruby 2.6 support (stock macOS system Ruby): lower gemspec floor to >= 2.6 - Rewrite Ruby 3.0+ endless methods in lib/node.rb as classic def/end - Migrate test suite from test-unit to minitest (bundled with every Ruby 2.6+) - Add stdlib-only coverage gate (test/coverage.rb) enforcing 100% library coverage - CI: matrix Ruby 2.6/3.4/4.0 + RuboCop lint job; bump actions/checkout to v7 - Lower .rubocop.yml TargetRubyVersion to 2.6; set .ruby-version to 4.0.4 - Drop SimpleCov and test-unit dev dependencies - Update CHANGELOG, README compatibility/development notes, and gem install refs - Bump version to 3.6.0
- Ruby 2.6 cannot install a modern Bundler; the coverage harness needs no gems, so set bundler: none on the test job (fixes the 2.6 setup-ruby failure) - Pin CI RuboCop to the Gemfile.lock version so new upstream cops don't break the lint job
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
Releases v3.6.0, which restores support for Ruby 2.6 (the stock Ruby shipped with macOS) so
git-status-treeruns out of the box without installing a newer Ruby. The runtime remains dependency-free (standard library only). This also overhauls the test/CI setup to keep the 2.6 floor honest.Compatibility
required_ruby_versionfrom>= 3.4to>= 2.6(additive — not breaking)lib/node.rbas classicdef/end(the only hard 2.6 syntax blocker).rubocop.ymlTargetRubyVersion→2.6(flags any syntax newer than the floor);.ruby-version→4.0.4Test & coverage (fully stdlib, no gem install)
test/coverage.rbgate using the stdlibcoverageextension — enforces 100% library coverage with zero gem dependenciesCI
.github/workflows/ci.yml: test matrix Ruby 2.6 / 3.4 / 4.0 runningruby test/coverage.rb, plus a separate RuboCop lint jobactions/checkout@v7Docs
Verification
ruby test/coverage.rbRuboCop (target 2.6): 29 files, no offenses.
gem buildproducesgit-status-tree-3.6.0.gemcleanly.Release
Version bumped to 3.6.0; CHANGELOG updated. Gem not pushed — maintainer will
gem build+gem push git-status-tree-3.6.0.gemafter merge.