Skip to content

Update kss to be compatible with ruby 3.2.#2

Open
djbender wants to merge 7 commits intoonehub:add-path-to-sectionsfrom
djbender:ruby-3-2-compat
Open

Update kss to be compatible with ruby 3.2.#2
djbender wants to merge 7 commits intoonehub:add-path-to-sectionsfrom
djbender:ruby-3-2-compat

Conversation

@djbender
Copy link

@djbender djbender commented Mar 3, 2026

Summary

  • Ruby 3.2+ compat: replace removed File.exists?/Dir.exists? with exist?
  • Multi-version Docker CI: Dockerized test matrix covering Ruby 1.9–4.0 + head, replacing Travis CI
    • Dockerfile compiles Ruby from source with appropriate OpenSSL (1.0.2 for <2.4, 1.1 for ≥2.4)
    • Dockerfile.head builds ruby/ruby master
    • docker-bake.hcl defines all 16 build targets
    • GitHub Actions workflow with per-version matrix jobs and a gate job
    • test-all-rubies.sh for local parallel testing via GNU parallel
  • Bundler 1.x/2.x compat: Dockerfile falls back to bundle config --local for Bundler 1.17.3
  • Gemfile modernization: version-gated minitest (5.x/6.x), rake (12.x/13.x), test-unit
  • SimpleCov code coverage: gated on COVERAGE=1 env var, enabled only for Ruby 4.0 in CI
    • Line coverage: 98.71%, branch coverage: 78.85%
  • Misc cleanup: remove deprecated has_rdoc, remove unused mg/rubyforge gems, fix gsub mutation warning in tests

Test plan

  • All 16 Ruby versions pass locally via test-all-rubies.sh
  • SimpleCov runs only on Ruby 4.0, other versions unaffected
  • CI passes on GitHub Actions in forked repo (djbender/kss)

robustdj and others added 7 commits November 6, 2024 15:32
ONEHUB-150 Include erb files when gathering files to parse comments
- Dockerfile: conditional OpenSSL, archive format, parallel make, bundler
- docker-bake.hcl: 15 Ruby versions as buildx bake targets
- test-all-rubies.sh: build + test all versions
- .dockerignore: exclude Gemfile.lock for bundler compat
- Gemfile: conditional rake version, test-unit gem for 2.0+
- Fix uninitialized @section ivar warning in Section
- GHA workflow: 16-version Docker matrix + gate job
- Dockerfile.head: build Ruby from git (bookworm + baseruby)
- docker-bake.hcl: add ruby-head target
- Bundle cache mount in Dockerfiles
- Fix test bug: unused var + frozen string mutation
- Fix uninitialized @file_path/@string_input ivars
- Bump minitest for 3.4+ (object_id warning)
- Remove dead deps: mg, rubyforge, has_rdoc
- Parallelize test-all-rubies.sh via GNU parallel
- Expand .dockerignore, delete .travis.yml
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.

2 participants