Modernize: Ruby 4.0/OpenVox support, workflow baseline sync, EL8-10, simp_rpm_helper branch fix (2.3.0) - #119
Merged
Merged
Conversation
Replace the puppet gem with openvox (>= 8, < 9, overridable via PUPPET_VERSION/OPENVOX_VERSION), and move to simp-rake-helpers ~> 6.0, which replaces puppetlabs_spec_helper with voxpupuli-test. - Drop puppetlabs_spec_helper, hiera-puppet-helper, rspec-puppet, and the Ruby < 2.6 pathspec pin, none of which are used by this project's unit tests - Drop the explicit rubocop/rubocop-rake/rubocop-rspec pins, which now come version-pinned via voxpupuli-test; keep rubocop-performance, which is not a voxpupuli-test dependency - Add ostruct, which simp_rpm_helper requires and which is a bundled gem as of Ruby 3.5 - Move to simp-beaker-helpers ~> 3.1 for acceptance tests - Add the standard Gemfile.project/Gemfile.local/EXTRA_GEMFILE hooks - Drop the require of simp/rake/ci from the Rakefile; the simp:ci_* tasks were removed along with GitLab CI support in simp-rake-helpers 6 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
simp_rpm_helper assumed 'git init --bare' and clones of empty repos would produce a 'master' branch, but modern git defaults init.defaultBranch to 'main', which made the initial 'git push origin master' fail. Pin HEAD to refs/heads/master explicitly in both the central bare repo and the working clone. RPM updates: - Accept openvox-agent as an alternative to puppet-agent using RPM boolean dependencies (supported on EL8+) - Drop the EL7 conditional dependency block; EL7 is no longer supported - Bump version to 2.3.0 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- pr_tests: test against the openvox 8 gem on Ruby 3.2 and 3.4, plus an OpenVox 9 preview on Ruby 4.0; run rubocop and RELENG checks on Ruby 4 - Replace tag_deploy_asset.yml and tag_deploy_github-rpms-el7-el8.yml with the standardized tag_deploy_github-rpms.yml, which dispatches a single release_rpms run (the build-OS matrix lives in release_rpms.yml, see simp/puppetsync#84) - Update release_rpms.yml to build el8/el9/el10 RPMs using the ghcr.io/simp/simp-<os>-build containers Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Replace the EL7-era CentOS/Oracle nodesets with AlmaLinux 8/9/10 and Oracle Linux 8/9 nodesets that default to the openvox8 collection. The default nodeset is now AlmaLinux 9. Also drop the dead Travis CI badge from the README. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
simp_rpm_helper now reads the default branch from the central repo's HEAD (falling back to 'master') and commits, pushes, and logs against that branch, so a pre-existing repo with a different default branch (e.g. 'main') is honored. Repos created by simp_rpm_helper itself are still pinned to 'master' so that the branch name is deterministic across hosts and matches the documented behavior, rather than varying with each host's git init.defaultBranch setting. Adds regression tests for both behaviors. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
michael-riddle
approved these changes
Aug 25, 2026
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
Brings simp-adapter up to the current SIMP tooling baseline and fixes a real bug that broke
simp_rpm_helperon modern git.Test tooling (Gemfile/Rakefile)
puppetgem withopenvox(>= 8, < 9, overridable viaPUPPET_VERSION/OPENVOX_VERSION)simp-rake-helpers ~> 6.0, which replacespuppetlabs_spec_helperwithvoxpupuli-test, andsimp-beaker-helpers ~> 3.1puppetlabs_spec_helper,hiera-puppet-helper,rspec-puppet, and the Ruby < 2.6pathspecpinrubocop/rubocop-rake/rubocop-rspecpins (now pinned viavoxpupuli-test); keeprubocop-performanceostruct(bundled gem as of Ruby 3.5; required bysimp_rpm_helper)require 'simp/rake/ci'(removed with GitLab CI support in simp-rake-helpers 6)Gemfile.project/Gemfile.local/EXTRA_GEMFILEhookssimp_rpm_helper fix (2.3.0)
git init --bareand clones of empty repos take the branch name frominit.defaultBranch, which ismainon modern git, so the initialgit push origin masterfailed. (This is what the previously-failing unit test caught.) Now:simp_rpm_helperare pinned tomasterregardless of the host's git configuration, so the branch name stays deterministic across a fleet and matches the documented behaviormaster), so a pre-existing repo with a different default branch (e.g.main) is honoredRPM spec (2.3.0)
openvox-agentas an alternative topuppet-agentvia RPM boolean dependencies (supported on EL8+), includingRequires(postun)GitHub Actions
pr_tests.yml: spec matrix is now the openvox 8 gem on Ruby 3.2/3.4 plus an OpenVox 9 preview on Ruby 4.0; rubocop and RELENG checks run on Ruby 4.0.6tag_deploy_asset.yml+tag_deploy_github-rpms-el7-el8.ymlwith the standardizedtag_deploy_github-rpms.yml(single dispatch; build-OS matrix lives inrelease_rpms.yml, per tag_deploy workflows hardcode centos7/centos8 RPM builds; move the OS matrix into release_rpms.yml (el8/el9/el10) puppetsync#84)release_rpms.yml: build el8/el9/el10 RPMs using theghcr.io/simp/simp-<os>-buildcontainersAcceptance nodesets
openvox8collection (default nodeset: AlmaLinux 9)Testing
On Ruby 4.0.5 with the new Gemfile:
bundle exec rake spec— 23 examples, 0 failures (was 1 failure from the git default-branch bug)bundle exec rubocop— no offensesbundle exec rake pkg:check_version pkg:compare_latest_tag pkg:create_tag_changelog pkg:check_rpm_changelog— passbundle exec rake pkg:rpm— buildssimp-adapter-2.3.0-1.el8.noarch.rpm;rpm -qp --requires --recommendsshows the boolean agent deps as expected🤖 Generated with Claude Code