PUP-11722 causing pdk
to fail in 4.x with "NameError: uninitialized constant Concurrent::RubyThreadLocalVar"
#127
Labels
bug
Something isn't working
Describe the Bug
pdk validate
fails withPUP-11722 describes the root cause, which is now resolved in Puppet with the release of gems 6.29.0 and 7.22.0.
The problem for me, as a consumer of the puppet-dev-tools Docker image, is that the puppet gems 6.29.0 and 7.22.0 aren't available to my workflow, even though they are in Rubygems and I have verified (7.22.0, 6.29.0) that they can be installed with
gem
into a vanilla Ubuntu container.Expected Behavior
When I: use tag 1.0.0 of my controlrepo checking action, that worked up until recently, with no specified concurrent-ruby gem version in my site/roles/Gemfile and site/profiles/Gemfile.
And I: specify Puppet gem version 6.29.0 or 7.22.0 in my Github workflow file unittests.yml.txt
I get (if I put the block for testing 7.22.0 first):
And if I put 6.29.0 first, I get the same message but stating 6.29.0 instead of 7.22.0.
Steps to Reproduce
Go to https://github.com/threepistons/action-install-versioned-puppet-gem/actions and run each workflow in turn. The unittest workflow will contain a message like "pdk (ERROR): Unable to find a Puppet gem matching ~> 6.29.0." and the other two workflows will succeed to install Puppet with numbered Gems.
Environment
Additional Context
You can work around this by using an earlier Puppet gem (e.g. 7.21.0 or 6.28.0) and adding
gem 'concurrent-ruby', '< 1.2.0', require: false
to your the development section of your Gemfile in both the roles and profiles modules of the controlrepo, as suggested in PUP-11722.The text was updated successfully, but these errors were encountered: