Good morning everybody,
I want to explain a bit what we're currently doing in our modules to
support Puppet 8.
Puppet 8 AIO packages contain Ruby 3.2. Vox Pupuli runs unit tests for
all supported major Puppet versions in a module. We run those with the
Ruby version that are in the matching AIO package. Puppet 6 used Ruby
2.5, Puppet 7 Ruby 2.7. To support Ruby 3.2 we had to update a few of
our gems, and that meant to Drop Ruby 2.4/2.5 in some places. While
we're at it, we also dropped Ruby 2.6 support because that's EoL as well
since a long time.
Personally I would love to drop Ruby 2.7 as well because that's end of
life since end of March (
https://www.ruby-lang.org/en/downloads/branches/), but sadly the Puppet
7 still has long term support.
The road to Puppet 8 has 6 milestones:
* Implement Ruby 3.2 support in our tooling - see
https://github.com/orgs/voxpupuli/projects/4 for details. We merged 229
PRs in the different projects we maintain and are almost done.
* Drop Puppet 6 from metadata.json - This will tell our GitHub Actions
Workflow to not generate unit tests for Puppet 6/ Ruby 2.5. See
https://github.com/pulls?q=is%3Apr+archived%3Afalse+user%3Avoxpupuli+label%3Abackwards-incompatible+%22Drop+Puppet+6+support%22+
* run modulesync to bring our newest gems to the modules. I'm currently
doing this:
https://github.com/pulls?q=is%3Aopen+is%3Apr+archived%3Afalse+label%3Amodulesync+user%3Avoxpupuli+sort%3Aupdated-desc
* Drop EoL operating systems from metadata.json
* Update our Github actions worklow. Due to the Puppet 8 released, which
wasn't reannounced, we had to implement a hack to keep our CI pipeline
alive (because of course the Puppet 8 release was broken and triggered a
bundler bug which also broke Puppet 7 unit tests). A detailed
explanation + some ranting is available in
https://github.com/voxpupuli/gha-puppet/pull/30. The result is that we
always generate a CI job with $puppetmajorversion.24 as version
constraint. We need to clean this up for Puppet 8 or wait for Puppet 8.24
* when all of this is done, we can add Puppet 8 to the metadata.json,
Then Puppet 8 jobs will automatically be added to the CI matrix.
If someone want's to help out, please join our IRC channel #voxpupuli on
Libera.Chat or the Slack channel #voxpupuli at
https://slack.puppet.com/.
You want to support our work? Vox Pupuli can now accept donations! See
https://voxpupuli.org/sponsoring/
Cheers, Tim