Require Ruby 3.1+ and modernize CI - #461
Open
tas50 wants to merge 5 commits into
Open
Conversation
- Set required_ruby_version to ">= 3.1" in the gemspec - Standardize .rubocop.yml on cookstyle/chefstyle with TargetRubyVersion 3.1 (the standalone `chefstyle` gem no longer loads, which broke linting) - Run unit tests on every Ruby release from 3.1 to 4.0 and run cookstyle --chefstyle on Ruby 3.1 - Add the cookstyle bundler group where it was missing so `bundle exec cookstyle` resolves in CI - Apply cookstyle --chefstyle autocorrections - Drop dead linters (cane, tailor, finstyle, standalone chefstyle) that are superseded by cookstyle and fail on modern Ruby Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Tim Smith <tsmith84@proton.me>
- Add the standard .markdownlint.yaml / .yamllint configs where missing (repos without them fell back to strict defaults and failed CI) - Exclude CHANGELOG files from markdown-lint in the shared workflow, matching test-kitchen; generated changelogs cannot satisfy the rules and are rewritten on each release - Fix real YAML indentation (sequences must be indented under their key); verified the parsed YAML is unchanged - Remove dead .travis.yml / appveyor.yml configs, which were also the main yamllint offenders - README cleanup: drop obsolete <a name="..."></a> heading anchors and dead travis-ci.org badges, modernize .png badge URLs, fix heading levels, add code-fence languages, repair broken lists, strip trailing whitespace Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Tim Smith <tsmith84@proton.me>
- Remove Code Climate badges - Fix dead documentation links (docs.kitchen-ci.org and old downloads.chef.io/docs.chef.io paths are gone; ChefDK is superseded by Chef Workstation), and repoint chef/* GitHub links at test-kitchen/* - Replace the "enter-github-user" placeholder links left over from the gem template - Point LICENSE links at the branch and filename that actually exist - Normalize the gemspec license to the SPDX identifier "Apache-2.0" so it matches the shipped LICENSE file Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Tim Smith <tsmith84@proton.me>
- Drop the chefstyle bundler group / dev dependency. chefstyle pins an old rubocop, which resolves cookstyle down to 7.x where "cookstyle --chefstyle" is not a valid option. Cookstyle supersedes it. - Remove .cane config files; cane is unmaintained and calls File.exists?, removed in Ruby 4.0 - Remove the bundler dev dependency; bundler ships with Ruby and pinning it only constrains resolution - Add the gem version badge to READMEs that were missing one 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>
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.
Standardizes the Ruby requirement and CI across the test-kitchen org.
Changes
required_ruby_version = ">= 3.1"in the gemspec..rubocop.yml: standardized oncookstyle/chefstylewithTargetRubyVersion: 3.1, matching test-kitchen. Many repos still required the standalonechefstylegem, which no longer loads — cookstyle could not run at all before this.cookstyle --chefstyleon 3.1.cookstylegroup where missing, sobundle exec cookstyleresolves in CI.cookstyle --chefstyle -aautocorrections;cookstyle --chefstyleis now clean.cane,tailor,finstyle, standalonechefstyle). These are unmaintained and fail on modern Ruby (canecallsFile.exists?, removed in Ruby 4.0;tailorneedsostruct, no longer a default gem). Cookstyle supersedes them.Comment/config changes plus mechanical style autocorrections; no intentional behavior changes.