-
Notifications
You must be signed in to change notification settings - Fork 583
(CONT-801) Puppet 8 support / Drop Puppet 6 support #1307
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Any chance we can we get a final 8.x release in with #1300 included first please? |
Hey @alexjfisher. Sure, we always aim to get a pre-release sorted before releasing any major update. Will take a deeper look into that PR once this update is finished and before we start the releasing new versions. It might, however, be hard to merge given the current state of the unit tests (got a few of them broken, trying to troubleshoot at the moment). Will let you know if we need a rebase on the other PRs end with our fix. |
e2c361d
to
564cf4b
Compare
In fact it fixes all of the current unit test failures. (There are quite a few 'pending' tests that originally confused me when looking at the failed job logs.) |
Is this also a good opportunity to dump some of the deprecated functions? (Some of these could probably go now even without a major version bump) |
@alexjfisher Yes, already mentioned but we will take a look around and invite everyone else too to help us find and remove any deprecated functions along with their test cases. A release has been cut very recently so these PRs should be mergeable right away. |
9a5d45e
to
1e494c1
Compare
1fdf6da
to
25519ee
Compare
25519ee
to
cf8859b
Compare
26fbc9e
to
8c82288
Compare
547b78a
to
43f4e09
Compare
3163631
to
2fcea98
Compare
aaabd65
to
cab7d7e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This reverts commit 799d608. While uriescape was deprecated for Puppet 8 in puppetlabs#1307 it was already fixed earlier for Puppet 8 and ruby 3 in puppetlabs#1195 It is unclear to me why this function was deprecated. * Fixes puppetlabs#1401
# Call ::JSON to ensure it references the JSON library from Ruby's standard library | ||
# instead of a random JSON namespace that might be in scope due to user code. | ||
::JSON.pretty_generate(data, opts) << "\n" | ||
JSON.pretty_generate(data, opts) << "\n" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder why these leading colons were removed? It doesn't seem to be a rubocop violation, and the comment above said they were there for a reason.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like it got 'safely' autocorrected by Rubocop during the Puppet 8 update. This might have been one of those cases where we should have added an inline exception instead of allowing it, but it probably sneaked past us.
I'll raise a PR to revert this and let the Modules team know about it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just for context, the Puppet 8 update period was a fairly chaotic point where we were handling a lot of module changes simultaneously. At the same time, work leading to Puppet 8 also required us to clean up previous Lint exceptions living in the code for most modules, and one of those exceptions had to do with the usage of top-scope variable calling, so it was not weird for us to see the :: symbol being removed left and right.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh nvm, looks like the entire function was deprecated some time ago
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only the non-namespaced version is deprecated. But don't worry about a PR right now. I'm about to throw in a PoC/RFC style PR that touches this function. Would be interested to hear your thoughts.
This PR aims to implement support for Puppet 8. Some of the changes performed might result in loss of compatibility for Puppet 6, which we no longer support. Current changes implemented in this PR:
Issues addressed:
Note: Various issues found during testing were addressed by external PRs. Check PR history nearing this Request by backwards incompatible labels.