Update pupmod baseline to the OpenVox 9 / Ruby 4.0 preview state - #42
Update pupmod baseline to the OpenVox 9 / Ruby 4.0 preview state#42silug wants to merge 5 commits into
Conversation
Sync the pupmod templates with the end state deployed fleet-wide on the openvox9-ruby4-preview branches (all green in CI): - Gemfile: drop the puppet/pdk/puppetlabs_spec_helper gems, use openvox + openvox-strings + voxpupuli-test (via simp-rake-helpers ~> 6.0), simp-beaker-helpers ~> 3.1, simp-rspec-puppet-facts ~> 4.0 - spec_helper.rb.epp: require voxpupuli/test/spec_helper instead of puppetlabs_spec_helper - pr_tests.yml: 3-row spec matrix (OpenVox 8 on Ruby 3.2/3.4 plus the OpenVox 9 preview on Ruby 4.0), checkout@v7, Ruby Style job enabled, rake pupmod:build instead of pdk build, parallel_spec, and the majority acceptance job (vagrant_libvirt, almalinux 9/10) - pr_tests.simp-simp.yml: refreshed from the simp-simp repo's actual workflow (split spec suites, multi-suite acceptance) - tag_deploy.yml: Ruby 3.4.9, rake pupmod:build - release_rpms.yml / add_new_issue_to_triage_project.yml: fleet majority (ubuntu-24.04, github-script@v9, add-to-project@v2) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XCnDsYaJDLiP8z8tafz9Tp
The '~> 7' env survived the OpenVox migration in every deployed tag_deploy workflow because those only run on tags; the first post-migration release (pupmod-simp-simp 7.0.1) failed bundle install when the Gemfile mapped it onto the openvox gem (simp-rake-helpers 6.0 requires openvox >= 8 < 9). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XCnDsYaJDLiP8z8tafz9Tp
|
Verified this locally by applying the baseline to the deployed fleet and checking for no-ops: a 3-stage puppetsync session (
Also hit two pre-existing repo bugs while testing, both unrelated to this PR: |
Mirrors #44 so the two branches merge cleanly in either order. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XCnDsYaJDLiP8z8tafz9Tp
A failed Forge upload previously left nothing to download - the tarball existed only on the runner and the GitHub release carries no assets. Upload it before attempting the Forge POST so every tag run, pass or fail, leaves the exact archive available from the run page. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XCnDsYaJDLiP8z8tafz9Tp
Release assets are permanent and publicly downloadable, unlike workflow artifacts (authenticated, expiring). Uploaded before the Forge POST so a failed publish still leaves the exact archive on the release. --clobber keeps job re-runs idempotent. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XCnDsYaJDLiP8z8tafz9Tp
Updates the pupmod baseline assets to match what is actually deployed on the fleet-wide
openvox9-ruby4-previewbranches (71 modules, all green in CI). Do not run puppetsync from this yet — this PR only reconciles the templates with reality so the next sync starts from a truthful baseline.Where deployed files varied, the template takes the fleet-majority variant (counts below are out of 71 modules).
Changes
pupmod/Gemfilepuppet/pdk/puppetlabs_spec_helpergems;openvox,openvox-strings, voxpupuli-test stack viasimp-rake-helpers ~> 6.0,simp-beaker-helpers ~> 3.1,simp-rspec-puppet-facts ~> 4.0; rubocop pins removed (managed by voxpupuli-test)spec_helper.rb.epprequire 'voxpupuli/test/spec_helper'; refreshed body (squiggly heredoc, trailing commas); simpkv conditional keptpr_tests.ymlcontinue-on-error), RELENG/file-checks on 3.4.9,rake pupmod:build, 3-row spec matrix (OpenVox 8 × Ruby 3.2/3.4 + OpenVox 9 preview × Ruby 4.0, all blocking),parallel_spec, majority acceptance jobpr_tests.simp-simp.ymltag_deploy.ymlrake pupmod:build(label "(PDK)" dropped)release_rpms.ymladd_new_issue_to_triage_project.ymlUnchanged because the fleet still matches:
validate_tokens.yml,_pdkignore,_rspec,_gitignore,_gitattributes,_puppet-lint.rc.Known divergences a future sync must handle (NOT resolved here)
pr_tests.<repo_name>.ymloverrides (mechanism already exists inprofile::github_actions) or a data-driven EPP before the next sync — otherwise the sync will clobber the docker matrices.gem 'observer'(27 modules, needed by compliance-profile specs on Ruby 3.4+),beaker_puppet_helpers(auditd). A static-file sync would remove them..puppet-lint.rc— 17 modules added--no-strict_indent-checkto work around the broken strict_indent v5.0.0 plugin (crashes puppet-lint). Template left at the majority (no workaround).continue-on-error: true— kept to match reality; removing it is Reconcile the Ruby Style (rubocop) job in the pr_tests.yml baseline — template and deployed modules have diverged #41 (rubocop is now clean fleet-wide, so it could be enforced).🤖 Generated with Claude Code
https://claude.ai/code/session_01XCnDsYaJDLiP8z8tafz9Tp