@@ -38,7 +38,7 @@ group :development do
3838 gem "rubocop-factory_bot" , '~> 2.27.1' , require : false
3939 gem "rubocop-capybara" , '~> 2.22.1' , require : false
4040 gem "rb-readline" , '= 0.5.5' , require : false , platforms : [ :mswin , :mingw , :x64_mingw ]
41- gem "bolt" , '>= 4.0.0' , require : false
41+ # gem "bolt", '>= 4.0.0', require: false
4242 gem "github_changelog_generator" , '1.16.4' , require : false
4343 gem "octokit" , '4.21.0' , require : false
4444 gem "orchestrator_client" , '< 0.7.1' , require : false
5555puppet_version = ENV [ 'PUPPET_GEM_VERSION' ]
5656facter_version = ENV [ 'FACTER_GEM_VERSION' ]
5757hiera_version = ENV [ 'HIERA_GEM_VERSION' ]
58+ bolt_version = ENV . fetch ( 'BOLT_GEM_VERSION' , nil )
5859
5960gems = { }
6061
61- gems [ 'puppet' ] = location_for ( puppet_version )
62+ # If PUPPET_FORGE_TOKEN is set then use authenticated source for both puppet and facter, since facter is a transitive dependency of puppet
63+ # Otherwise, do as before and use location_for to fetch gems from the default source
64+ if !ENV [ 'PUPPET_FORGE_TOKEN' ] . to_s . empty?
65+ gems [ 'bolt' ] = [ bolt_version || '~> 5.0' , { require : false , source : 'https://rubygems-puppetcore.puppet.com' } ]
66+ gems [ 'puppet' ] = [ puppet_version || '~> 8.11' , { require : false , source : 'https://rubygems-puppetcore.puppet.com' } ]
67+ gems [ 'facter' ] = [ facter_version || '~> 4.0' , { require : false , source : 'https://rubygems-puppetcore.puppet.com' } ]
68+ else
69+ gems [ 'bolt' ] = location_for ( bolt_version )
70+ gems [ 'puppet' ] = location_for ( puppet_version )
71+ gems [ 'facter' ] = location_for ( facter_version ) if facter_version
72+ end
6273
63- # If facter or hiera versions have been specified via the environment
74+ # If hiera version have been specified via the environment
6475# variables
65- gems [ 'facter' ] = location_for ( facter_version ) if facter_version
6676gems [ 'hiera' ] = location_for ( hiera_version ) if hiera_version
6777
6878gems . each do |gem_name , gem_params |
0 commit comments