puppetlabs / pdksync

Manage large sets of modules with automation built on top of PDK
Apache License 2.0
13 stars 29 forks source link

PDK update fails when running pdksync with Ruby 3 #226

Open alex501212 opened 2 weeks ago

alex501212 commented 2 weeks ago

Describe the Bug

When running bundle exec rake pdksync on ruby 3 pdk update does not seem to work.

This is what i'm getting on Ruby 3.2.4

INFO - PdkSync: Commit branch_name=pdksync_{ref} commit_message=pdksync_{ref}
INFO - PdkSync: PR title = pdksync_{ref}
INFO - PdkSync: puppetlabs-accounts, 
INFO - PdkSync: delete module directory
INFO - PdkSync: cloned
WARN - PdkSync: (WARNING) Using pdk on PATH not '/opt/puppetlabs/pdk/bin/pdk'
FATAL - PdkSync: Unable to run `pdk update`: pdk (INFO): Updating puppetlabs-accounts using the template at https://github.com/puppetlabs/pdk-templates.git, from tags/3.2.0.4 to main@6e8b9b0
pdk (FATAL): Writing lockfile to /Users/alex.patterson/Library/CloudStorage/OneDrive-PERFORCESOFTWARE,INC/Desktop/pdksync/modules_pdksync/puppetlabs-accounts/Gemfile.lock

Could not find gems matching 'puppet' valid for all resolution platforms
(aarch64-linux-gnu, aarch64-linux-musl, arm-linux-gnu, arm-linux-musl,
arm64-darwin, ruby, universal-darwin, x86-linux-gnu, x86-linux-musl,
x86_64-darwin, x86_64-linux-gnu, x86_64-linux-musl, arm64-darwin-23) in locally
installed gems.

The source contains the following gems matching 'puppet':
  * puppet-7.32.1
  * puppet-8.8.1-universal-darwin
  * puppet-8.9.0-universal-darwin

pdk (FATAL): Unable to resolve Gemfile dependencies.

Expected Behavior

I would expect pdksync to run a pdk update if needed when running bundle exec rake pdksync

The output I would expect would be what I get when running on Ruby 2.7.8

INFO - PdkSync: Commit branch_name=pdksync_{ref} commit_message=pdksync_{ref}
INFO - PdkSync: PR title = pdksync_{ref}
INFO - PdkSync: puppetlabs-accounts, 
INFO - PdkSync: delete module directory
INFO - PdkSync: cloned
WARN - PdkSync: (WARNING) Using pdk on PATH not '/opt/puppetlabs/pdk/bin/pdk'
INFO - PdkSync: pdk update
INFO - PdkSync: All files have been staged.
INFO - PdkSync: commit created
INFO - PdkSync: push
INFO - PdkSync: created pr
INFO - PdkSync: done
INFO - PdkSync: 
PRs created:

https://github.com/puppetlabs/puppetlabs-accounts/pull/494

Steps to Reproduce

Steps to reproduce the behavior:

  1. uncomment puppetlabs-accounts in managed_modules.yml
  2. run rbenv local 3.2.4
  3. run bundle install --path .bundle/gems/
  4. run bundle exec rake pdksync

Environment