Skip to content

Modernization and cleanup - #160

Merged
tas50 merged 4 commits into
mainfrom
ruby-3.1-ci-modernization
Aug 22, 2026
Merged

Modernization and cleanup#160
tas50 merged 4 commits into
mainfrom
ruby-3.1-ci-modernization

Conversation

@tas50

@tas50 tas50 commented Aug 22, 2026

Copy link
Copy Markdown
Member

Unblocks Ruby 3.1.

minitest was pinned to ~> 6.0", "< 6.1, but minitest 6 requires Ruby >= 3.2. Bundler resolves the entire Gemfile even when a job installs only one group, so this failed the Ruby 3.1 matrix entry — and the Cookstyle job — before either got as far as running anything:

Bundler found conflicting requirements for the Ruby version:
  In Gemfile:
    minitest (~> 6.0, < 6.1) was resolved to 6.0.6, which depends on Ruby (>= 3.2)
  Current Ruby version:
    Ruby (= 3.1.7)

Relaxed to >= 5.0 so Ruby 3.1 resolves minitest 5.x while newer Rubies still get 6.x.

- Declare rake in the Gemfile's :test group. Gemspec development dependencies
  land in bundler's :development group, which CI excludes via
  BUNDLE_WITHOUT=development, so `bundle exec rake` failed with
  "can't find executable rake for gem rake"
- Relax dev dependency pins that require Ruby >= 3.2 (minitest 6,
  pry-byebug 3.12); bundler resolves the whole Gemfile even for a single
  group, so these broke the Ruby 3.1 matrix entry outright
- kitchen-opennebula: depend on fog-opennebula instead of the fog metagem,
  which pulls fog-ovirt -> ovirt-engine-sdk and fails to build
- guard-kitchen: read the version in the gemspec without loading the library,
  which requires guard and is unavailable while bundler evaluates the gemspec

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Tim Smith <tsmith84@proton.me>
@tas50
tas50 force-pushed the ruby-3.1-ci-modernization branch from 3cec8bf to 06aedc6 Compare August 22, 2026 06:03
tas50 and others added 3 commits August 21, 2026 23:19
Changelogs are produced by release-please now, so the generator task and its
pinned dependency are dead weight.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Tim Smith <tsmith84@proton.me>
- Use `gemspec development_group: :test`. Gemspec development dependencies
  otherwise land in bundler's :development group, which CI excludes via
  BUNDLE_WITHOUT=development, so rspec/fakefs/rake were missing at runtime
- Add base64 where cucumber 9.x needs it; it is no longer a default gem on
  Ruby 4.0
- kitchen-opennebula: fog-opennebula's latest release is 0.0.5, so ">= 0.1"
  could never resolve
- kitchen-rackspace: port the driver off Kitchen::Driver::SSHBase, removed in
  test-kitchen 4.x, and wait via the configured transport instead

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Tim Smith <tsmith84@proton.me>
AllCops/Include pinned the file list to **/*.rb, which quietly excluded the
gemspec, Gemfile and Rakefile -- cookstyle reported success while never
looking at them. Dropping the Include list restores cookstyle's own defaults,
which cover those files, and the offenses that surfaced are autocorrected here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Tim Smith <tsmith84@proton.me>
@tas50
tas50 merged commit 0b862a7 into main Aug 22, 2026
8 checks passed
@tas50
tas50 deleted the ruby-3.1-ci-modernization branch August 22, 2026 19:06
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