Skip to content

Conversation

@plainprogrammer
Copy link
Owner

Summary

This PR updates the Ruby version and project dependencies to their latest stable versions, ensuring the project stays current with security patches and improvements.

Changes Made

Ruby Version Update

  • Updated Ruby from 3.4.2 to 3.4.7 (latest stable)
  • Updated .ruby-version and .tool-versions files

Dependency Updates

  • Added version constraints to Gemfile:
    • rake: ~> 13.3 (installed: 13.3.1)
    • rspec: ~> 3.13 (installed: 3.13.2)
  • Generated Gemfile.lock for consistent dependency installation

CI/CD Improvements

  • Updated GitHub Actions workflow to test against modern Ruby versions:
    • Replaced Ruby 2.6, 2.7, 3.0 (all EOL) with 3.2, 3.3, 3.4
  • Updated GitHub Actions dependencies:
    • actions/checkout@v2actions/checkout@v4

Testing

✅ All tests pass (36 examples, 0 failures, 6 pending)

The 6 pending tests are intentional - they're for the "Conjured Items" feature which is part of the kata challenge.

Impact

  • No breaking changes - all existing functionality preserved
  • Better security - latest Ruby includes security patches
  • Modern CI - tests run on currently supported Ruby versions
  • Reproducible builds - locked dependency versions ensure consistency

Each change was committed separately to maintain a clean git history and ensure the project remained in a working state throughout the upgrade process.

Upgrade from Ruby 3.4.2 to the latest stable version 3.4.7.
This minor version update includes bug fixes and improvements.
- Pin rake to ~> 13.3 (latest: 13.3.1)
- Pin rspec to ~> 3.13 (latest: 3.13.2)

This ensures consistent dependency versions across environments
while allowing for patch-level updates.
- Update Ruby version matrix from [2.6, 2.7, 3.0] to [3.2, 3.3, 3.4]
- Upgrade actions/checkout from v2 to v4
- Ensures CI tests against currently supported Ruby versions

Ruby 2.6, 2.7, and 3.0 have all reached end-of-life. The new
matrix tests against actively maintained Ruby versions.
- Ignore .bundle/ directory (bundler cache)
- Ignore generated binstubs (htmldiff, ldiff, rspec)

These files are automatically generated by bundler and should not
be committed to version control.
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.

3 participants