Skip to content

Commit 16d966b

Browse files
authored
Merge pull request #834 from puppetlabs/redo_gems
Restrict bolt gem to development group
2 parents a4b08fe + e651b15 commit 16d966b

6 files changed

Lines changed: 78 additions & 61 deletions

File tree

.github/workflows/task_acceptance_tests.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,8 @@ jobs:
6262
with:
6363
ruby-version: ${{ env.ruby_version }}
6464
bundler-cache: true
65-
working-directory: task_spec
6665

6766
- name: Run task acceptance tests
6867
run: |
68+
cd task_spec
6969
bundle exec rake task_acceptance
70-
working-directory: task_spec

.gitignore

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,12 @@
1111
/bin/
1212
/doc/
1313
/Gemfile.local
14-
Gemfile.lock
14+
/Gemfile.lock
1515
/junit/
1616
/log/
17-
/task_spec/log/
1817
/pkg/
1918
/spec/fixtures/manifests/
2019
/spec/fixtures/modules/*
21-
/task_spec/spec/fixtures/
2220
/tmp/
2321
/vendor/
2422
/.vendor/

.sync.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,33 @@
1111
Enabled: false
1212
Style/FileNull:
1313
Enabled: false
14+
Gemfile:
15+
optional:
16+
":development":
17+
- gem: beaker
18+
version: '~> 6.0'
19+
from_env: BEAKER_VERSION
20+
- gem: beaker-abs
21+
from_env: BEAKER_ABS_VERSION
22+
version: '~> 1.0'
23+
- gem: beaker-hostgenerator
24+
from_env: BEAKER_HOSTGENERATOR_VERSION
25+
version: '~> 2.0'
26+
- gem: beaker-rspec
27+
from_env: BEAKER_RSPEC_VERSION
28+
- gem: beaker-puppet
29+
from_env: BEAKER_PUPPET_VERSION
30+
version: '~> 4.0'
31+
- gem: beaker-module_install_helper
32+
- gem: beaker-puppet_install_helper
33+
- gem: nokogiri
34+
- gem: 'beaker-task_helper'
35+
version: '~> 1.9'
36+
condition: 'ENV["GEM_BOLT"]'
37+
":system_tests":
38+
- gem: voxpupuli-acceptance
39+
version: '~> 3'
40+
1441
Gemfile:
1542
unmanaged: true
1643
.github/workflows/release.yml:
@@ -25,3 +52,6 @@ spec/spec_helper.rb:
2552
Rakefile:
2653
extra_disabled_lint_checks:
2754
- puppet_url_without_modules
55+
requires:
56+
- require: voxpupuli/acceptance/rake
57+
conditional: Gem.loaded_specs.key? 'voxpupuli-acceptance'

Gemfile

Lines changed: 45 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -35,49 +35,66 @@ def print_gem_statement_for(gems)
3535
end
3636
end
3737

38+
bolt_gem_version = ENV.fetch('BOLT_GEM_VERSION', nil)
39+
3840
group :development do
39-
gem "json", '= 2.6.1', require: false if Gem::Requirement.create(['>= 3.1.0', '< 3.1.3']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
40-
gem "json", '= 2.6.3', require: false if Gem::Requirement.create(['>= 3.2.0', '< 4.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
41-
gem "racc", '~> 1.4.0', require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
42-
gem "deep_merge", '~> 1.2.2', require: false
43-
gem "voxpupuli-puppet-lint-plugins", '~> 5.0', require: false
44-
gem "facterdb", '~> 2.1', require: false if Gem::Requirement.create(['< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
45-
gem "facterdb", '~> 3.0', require: false if Gem::Requirement.create(['>= 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
46-
gem "metadata-json-lint", '~> 4.0', require: false
47-
gem "json-schema", '< 5.1.1', require: false
48-
gem "rspec-puppet-facts", '~> 4.0', require: false if Gem::Requirement.create(['< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
49-
gem "rspec-puppet-facts", '~> 5.0', require: false if Gem::Requirement.create(['>= 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
50-
gem "dependency_checker", '~> 1.0.0', require: false
51-
gem "parallel_tests", '= 3.12.1', require: false
52-
gem "pry", '~> 0.10', require: false
53-
gem "simplecov-console", '~> 0.9', require: false
54-
gem "puppet-debugger", '~> 1.6', require: false
55-
gem "rubocop", '~> 1.73.0', require: false
56-
gem "rubocop-performance", '~> 1.24.0', require: false
57-
gem "rubocop-rspec", '~> 3.5.0', require: false
58-
gem "rubocop-rspec_rails", '~> 2.31.0', require: false
59-
gem "rubocop-factory_bot", '~> 2.27.0', require: false
60-
gem "rubocop-capybara", '~> 2.22.0', require: false
61-
gem "rubocop-ast", '< 1.43.0', require: false, platforms: [:mswin, :mingw, :x64_mingw]
62-
gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw]
63-
gem "bigdecimal", '< 3.2.2', require: false, platforms: [:mswin, :mingw, :x64_mingw]
41+
gem "json", '= 2.6.1', require: false if Gem::Requirement.create(['>= 3.1.0', '< 3.1.3']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
42+
gem "json", '= 2.6.3', require: false if Gem::Requirement.create(['>= 3.2.0', '< 4.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
43+
gem "racc", '~> 1.4.0', require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
44+
gem "deep_merge", '~> 1.2.2', require: false
45+
gem "voxpupuli-puppet-lint-plugins", '~> 5.0', require: false
46+
gem "facterdb", '~> 2.1', require: false if Gem::Requirement.create(['< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
47+
gem "facterdb", '~> 3.0', require: false if Gem::Requirement.create(['>= 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
48+
gem "metadata-json-lint", '~> 4.0', require: false
49+
gem "json-schema", '< 5.1.1', require: false
50+
gem "rspec-puppet-facts", '~> 4.0', require: false if Gem::Requirement.create(['< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
51+
gem "rspec-puppet-facts", '~> 5.0', require: false if Gem::Requirement.create(['>= 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
52+
gem "dependency_checker", '~> 1.0.0', require: false
53+
gem "parallel_tests", '= 3.12.1', require: false
54+
gem "pry", '~> 0.10', require: false
55+
gem "simplecov-console", '~> 0.9', require: false
56+
gem "puppet-debugger", '~> 1.6', require: false
57+
gem "rubocop", '~> 1.73.0', require: false
58+
gem "rubocop-performance", '~> 1.24.0', require: false
59+
gem "rubocop-rspec", '~> 3.5.0', require: false
60+
gem "rubocop-rspec_rails", '~> 2.31.0', require: false
61+
gem "rubocop-factory_bot", '~> 2.27.0', require: false
62+
gem "rubocop-capybara", '~> 2.22.0', require: false
63+
gem "rubocop-ast", '< 1.43.0', require: false, platforms: [:mswin, :mingw, :x64_mingw]
64+
gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw]
65+
gem "bigdecimal", '< 3.2.2', require: false, platforms: [:mswin, :mingw, :x64_mingw]
66+
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 6.0')
67+
gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || '~> 1.0')
68+
gem "beaker-hostgenerator", *location_for(ENV['BEAKER_HOSTGENERATOR_VERSION'] || '~> 2.0')
69+
gem "beaker-rspec"
70+
gem "beaker-puppet", *location_for(ENV['BEAKER_PUPPET_VERSION'] || '~> 4.0')
71+
gem "beaker-module_install_helper", require: false
72+
gem "beaker-puppet_install_helper", require: false
73+
gem "nokogiri", require: false
74+
# We are overriding the default PDK template's beaker logic in order to constrain
75+
# bolt to development group
76+
gem "bolt", *location_for(bolt_gem_version, nil, {source: gemsource_puppetcore}) if ENV["GEM_BOLT"]
77+
gem "beaker-task_helper", '~> 1.9', require: false if ENV["GEM_BOLT"]
6478
end
6579
group :development, :release_prep do
6680
gem "puppet-strings", '~> 4.0', require: false
6781
gem "puppetlabs_spec_helper", '~> 8.0', require: false
6882
gem "puppet-blacksmith", '~> 7.0', require: false
6983
end
84+
# We are overriding the default PDK template's Litmus logic in order to use the
85+
# latest Bolt in tests. See PA-7824.
7086
group :system_tests do
71-
# add gems to acceptance/Gemfile or task_spec/Gemfile
87+
gem "puppet_litmus", '~> 2.0', require: false, platforms: [:ruby, :x64_mingw]
88+
gem "CFPropertyList", '< 3.0.7', require: false, platforms: [:mswin, :mingw, :x64_mingw]
89+
gem "serverspec", '~> 2.41', require: false
90+
gem "voxpupuli-acceptance", '~> 3', require: false
7291
end
7392

7493
gems = {}
75-
bolt_version = ENV.fetch('BOLT_GEM_VERSION', nil)
7694
puppet_version = ENV.fetch('PUPPET_GEM_VERSION', nil)
7795
facter_version = ENV.fetch('FACTER_GEM_VERSION', nil)
7896
hiera_version = ENV.fetch('HIERA_GEM_VERSION', nil)
7997

80-
gems['bolt'] = location_for(bolt_version, nil, { source: gemsource_puppetcore })
8198
gems['puppet'] = location_for(puppet_version, nil, { source: gemsource_puppetcore })
8299
gems['facter'] = location_for(facter_version, nil, { source: gemsource_puppetcore })
83100
gems['hiera'] = location_for(hiera_version, nil, {}) if hiera_version

Rakefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ require 'puppet_litmus/rake_tasks' if Gem.loaded_specs.key? 'puppet_litmus'
55
require 'puppetlabs_spec_helper/rake_tasks'
66
require 'puppet-syntax/tasks/puppet-syntax'
77
require 'puppet-strings/tasks' if Gem.loaded_specs.key? 'puppet-strings'
8+
require 'voxpupuli/acceptance/rake' if Gem.loaded_specs.key? 'voxpupuli-acceptance'
89

910
PuppetLint.configuration.send('disable_relative')
1011
PuppetLint.configuration.send('disable_80chars')

task_spec/Gemfile

Lines changed: 0 additions & 28 deletions
This file was deleted.

0 commit comments

Comments
 (0)