Skip to content

Change to chef-cleanroom breaks artifactory Berksfile source #56

@bemehiser

Description

@bemehiser

Description

After the change to using chef-cleanroom, the artifactory berksfile source breaks.

This appears to be caused by the the new chef-cleanroom gem defining the Berksfile source DSL function differently than the old version.

If I revert this line from chef-cleanroom to cleanroom, artifactory sources work like they did before.

a67492e#diff-28964a421c155201a55aa5af73d2b1dfd4ea489d00abf3a14fbedff0c93030daL37-L44

Berkshelf Version

v8.0.17

Platform Version

macOS 15

Replication Case

NOTE: You don't need a working server for this - it breaks before it tries to resolve the server

# add artifactory source to the Berksfile

# Berksfile
source artifactory: "https://artifactory.mycompany.com/artifactory/api/chef/my-chef-virtual"

# run berks install
berks install

Berks Output

bundle exec berks install --debug

An error occurred while reading the Berksfile:

  wrong number of arguments (given 0, expected 1)

Stacktrace

An error occurred while reading the Berksfile:

  wrong number of arguments (given 0, expected 1)
	/Users/bemehiser/Projects/gems/berkshelf/lib/berkshelf/berksfile.rb:207:in 'source'
	/Users/bemehiser/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/chef-cleanroom-1.0.5/lib/cleanroom.rb:130:in 'Kernel#public_send'
	/Users/bemehiser/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/chef-cleanroom-1.0.5/lib/cleanroom.rb:130:in 'block (3 levels) in cleanroom'
	/Users/bemehiser/Projects/tests/test/Berksfile:4:in 'Cleanroom::ClassMethods#evaluate'
	/Users/bemehiser/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/chef-cleanroom-1.0.5/lib/cleanroom.rb:70:in 'BasicObject#instance_eval'
	/Users/bemehiser/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/chef-cleanroom-1.0.5/lib/cleanroom.rb:70:in 'Cleanroom::ClassMethods#evaluate'
	/Users/bemehiser/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/chef-cleanroom-1.0.5/lib/cleanroom.rb:56:in 'Cleanroom::ClassMethods#evaluate_file'
	/Users/bemehiser/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/chef-cleanroom-1.0.5/lib/cleanroom.rb:174:in 'Cleanroom::InstanceMethods#evaluate_file'
	/Users/bemehiser/Projects/gems/berkshelf/lib/berkshelf/berksfile.rb:27:in 'Berkshelf::Berksfile.from_file'
	/Users/bemehiser/Projects/gems/berkshelf/lib/berkshelf/berksfile.rb:16:in 'Berkshelf::Berksfile.from_options'
	/Users/bemehiser/Projects/gems/berkshelf/lib/berkshelf/cli.rb:130:in 'Berkshelf::Cli#install'
	/Users/bemehiser/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/thor-1.2.2/lib/thor/command.rb:27:in 'Thor::Command#run'
	/Users/bemehiser/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/thor-1.2.2/lib/thor/invocation.rb:127:in 'Thor::Invocation#invoke_command'
	/Users/bemehiser/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/thor-1.2.2/lib/thor.rb:392:in 'Thor.dispatch'
	/Users/bemehiser/Projects/gems/berkshelf/lib/berkshelf/cli.rb:47:in 'Berkshelf::Cli.dispatch'
	/Users/bemehiser/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/thor-1.2.2/lib/thor/base.rb:485:in 'Thor::Base::ClassMethods#start'
	/Users/bemehiser/Projects/gems/berkshelf/lib/berkshelf/cli.rb:23:in 'Berkshelf::Cli::Runner#execute!'
	/Users/bemehiser/Projects/gems/berkshelf/bin/berks:5:in '<main>'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions