Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/task_acceptance_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,9 @@ jobs:
with:
ruby-version: ${{ env.ruby_version }}
bundler-cache: true
working-directory: task_spec

- name: Run task acceptance tests
run: |
cd task_spec
bundle exec rake task_acceptance
working-directory: task_spec
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@
/bin/
/doc/
/Gemfile.local
/Gemfile.lock
Gemfile.lock
/junit/
/log/
/task_spec/log/
/pkg/
/spec/fixtures/manifests/
/spec/fixtures/modules/*
/task_spec/spec/fixtures/
/tmp/
/vendor/
/.vendor/
Expand Down
30 changes: 1 addition & 29 deletions .sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,32 +12,7 @@
Style/FileNull:
Enabled: false
Gemfile:
optional:
":development":
- gem: beaker
version: '~> 6.0'
from_env: BEAKER_VERSION
- gem: beaker-abs
from_env: BEAKER_ABS_VERSION
version: '~> 1.0'
- gem: beaker-hostgenerator
from_env: BEAKER_HOSTGENERATOR_VERSION
version: '~> 2.0'
- gem: beaker-rspec
from_env: BEAKER_RSPEC_VERSION
- gem: beaker-puppet
from_env: BEAKER_PUPPET_VERSION
version: '~> 4.0'
- gem: beaker-module_install_helper
- gem: beaker-puppet_install_helper
- gem: nokogiri
- gem: 'beaker-task_helper'
version: '~> 1.9'
condition: 'ENV["GEM_BOLT"]'
":system_tests":
- gem: voxpupuli-acceptance
version: '~> 3'

unmanaged: true
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we going to manually update the main Gemfile instead of relying on the PDK moving forward? Or was the intent to just remove the testing-related gems?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once the litmus -> pdk -> r10k -> puppet_forge -> faraday 1.x dependency chain is broken, I'm hoping we can re-enable managing the Gemfile and just ignore the system_test group. Meanwhile beaker related dependencies can continue to live in acceptance/Gemfile and task_spec/Gemfile. And eventually maybe we can collapse the parallel beaker tests for manifest and tasks into a single acceptance directory/Gemfile.

.github/workflows/release.yml:
unmanaged: false
.github/workflows/release_prep.yml:
Expand All @@ -50,6 +25,3 @@ spec/spec_helper.rb:
Rakefile:
extra_disabled_lint_checks:
- puppet_url_without_modules
requires:
- require: voxpupuli/acceptance/rake
conditional: Gem.loaded_specs.key? 'voxpupuli-acceptance'
66 changes: 26 additions & 40 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -36,53 +36,39 @@ def print_gem_statement_for(gems)
end

group :development do
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))
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))
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))
gem "deep_merge", '~> 1.2.2', require: false
gem "voxpupuli-puppet-lint-plugins", '~> 5.0', require: false
gem "facterdb", '~> 2.1', require: false if Gem::Requirement.create(['< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "facterdb", '~> 3.0', require: false if Gem::Requirement.create(['>= 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "metadata-json-lint", '~> 4.0', require: false
gem "json-schema", '< 5.1.1', require: false
gem "rspec-puppet-facts", '~> 4.0', require: false if Gem::Requirement.create(['< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "rspec-puppet-facts", '~> 5.0', require: false if Gem::Requirement.create(['>= 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "dependency_checker", '~> 1.0.0', require: false
gem "parallel_tests", '= 3.12.1', require: false
gem "pry", '~> 0.10', require: false
gem "simplecov-console", '~> 0.9', require: false
gem "puppet-debugger", '~> 1.6', require: false
gem "rubocop", '~> 1.73.0', require: false
gem "rubocop-performance", '~> 1.24.0', require: false
gem "rubocop-rspec", '~> 3.5.0', require: false
gem "rubocop-rspec_rails", '~> 2.31.0', require: false
gem "rubocop-factory_bot", '~> 2.27.0', require: false
gem "rubocop-capybara", '~> 2.22.0', require: false
gem "rubocop-ast", '< 1.43.0', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "bigdecimal", '< 3.2.2', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 6.0')
gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || '~> 1.0')
gem "beaker-hostgenerator", *location_for(ENV['BEAKER_HOSTGENERATOR_VERSION'] || '~> 2.0')
gem "beaker-rspec"
gem "beaker-puppet", *location_for(ENV['BEAKER_PUPPET_VERSION'] || '~> 4.0')
gem "beaker-module_install_helper", require: false
gem "beaker-puppet_install_helper", require: false
gem "nokogiri", require: false
gem "beaker-task_helper", '~> 1.9', require: false if ENV["GEM_BOLT"]
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))
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))
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))
gem "deep_merge", '~> 1.2.2', require: false
gem "voxpupuli-puppet-lint-plugins", '~> 5.0', require: false
gem "facterdb", '~> 2.1', require: false if Gem::Requirement.create(['< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "facterdb", '~> 3.0', require: false if Gem::Requirement.create(['>= 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "metadata-json-lint", '~> 4.0', require: false
gem "json-schema", '< 5.1.1', require: false
gem "rspec-puppet-facts", '~> 4.0', require: false if Gem::Requirement.create(['< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "rspec-puppet-facts", '~> 5.0', require: false if Gem::Requirement.create(['>= 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "dependency_checker", '~> 1.0.0', require: false
gem "parallel_tests", '= 3.12.1', require: false
gem "pry", '~> 0.10', require: false
gem "simplecov-console", '~> 0.9', require: false
gem "puppet-debugger", '~> 1.6', require: false
gem "rubocop", '~> 1.73.0', require: false
gem "rubocop-performance", '~> 1.24.0', require: false
gem "rubocop-rspec", '~> 3.5.0', require: false
gem "rubocop-rspec_rails", '~> 2.31.0', require: false
gem "rubocop-factory_bot", '~> 2.27.0', require: false
gem "rubocop-capybara", '~> 2.22.0', require: false
gem "rubocop-ast", '< 1.43.0', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "bigdecimal", '< 3.2.2', require: false, platforms: [:mswin, :mingw, :x64_mingw]
end
group :development, :release_prep do
gem "puppet-strings", '~> 4.0', require: false
gem "puppetlabs_spec_helper", '~> 8.0', require: false
gem "puppet-blacksmith", '~> 7.0', require: false
end
# We are overriding the default PDK template's Litmus logic in order to use the
# latest Bolt in tests. See PA-7824.
group :system_tests do
gem "puppet_litmus", '~> 2.0', require: false, platforms: [:ruby, :x64_mingw]
gem "CFPropertyList", '< 3.0.7', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "serverspec", '~> 2.41', require: false
gem "voxpupuli-acceptance", '~> 3', require: false
# add gems to acceptance/Gemfile or task_spec/Gemfile
end

gems = {}
Expand Down
6 changes: 3 additions & 3 deletions REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -850,7 +850,7 @@ The version of puppet-agent to install (defaults to latest when no agent is inst

##### `collection`

Data type: `Optional[Enum[puppet7, puppet8, puppet, puppet7-nightly, puppet8-nightly, puppet-nightly, puppetcore7, puppetcore8, puppetcore8-nightly]]`
Data type: `Optional[Enum[puppet7, puppet8, puppet, puppet7-nightly, puppet8-nightly, puppet-nightly, puppetcore7, puppetcore8, puppetcore8-nightly, puppetcore9-nightly]]`

The Puppet collection to install from (defaults to puppet, which maps to the latest collection released)

Expand Down Expand Up @@ -930,7 +930,7 @@ The version of puppet-agent to install

##### `collection`

Data type: `Optional[Enum[puppet7, puppet8, puppet, puppet7-nightly, puppet8-nightly, puppet-nightly, puppetcore7, puppetcore8, puppetcore8-nightly]]`
Data type: `Optional[Enum[puppet7, puppet8, puppet, puppet7-nightly, puppet8-nightly, puppet-nightly, puppetcore7, puppetcore8, puppetcore8-nightly, puppetcore9-nightly]]`

The Puppet collection to install from (defaults to puppet, which maps to the latest collection released)

Expand Down Expand Up @@ -1010,7 +1010,7 @@ The version of puppet-agent to install

##### `collection`

Data type: `Optional[Enum[puppet7, puppet8, puppet, puppet7-nightly, puppet8-nightly, puppet-nightly, puppetcore7, puppetcore8, puppetcore8-nightly]]`
Data type: `Optional[Enum[puppet7, puppet8, puppet, puppet7-nightly, puppet8-nightly, puppet-nightly, puppetcore7, puppetcore8, puppetcore8-nightly, puppetcore9-nightly]]`

The Puppet collection to install from (defaults to puppet, which maps to the latest collection released)

Expand Down
1 change: 0 additions & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ require 'puppet_litmus/rake_tasks' if Gem.loaded_specs.key? 'puppet_litmus'
require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-syntax/tasks/puppet-syntax'
require 'puppet-strings/tasks' if Gem.loaded_specs.key? 'puppet-strings'
require 'voxpupuli/acceptance/rake' if Gem.loaded_specs.key? 'voxpupuli-acceptance'

PuppetLint.configuration.send('disable_relative')
PuppetLint.configuration.send('disable_80chars')
Expand Down
28 changes: 28 additions & 0 deletions task_spec/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
source ENV['GEM_SOURCE'] || "https://rubygems.org"

# Find a location or specific version before installing a gem
#
# @param place_or_version can be one of:
# - A specific version,
# - A git branch, as `https://<your-repo>.git#<branch-name>`
# - A file URI, as `file:///absolute/file/path`
def location_for(place, fake_version = nil)
if place.is_a?(String) && place =~ /^((?:git[:@]|https:)[^#]*)#(.*)/
[fake_version, { git: $1, branch: $2, require: false }].compact
elsif place.is_a?(String) && place =~ /^file:\/\/(.*)/
['>= 0', { path: File.expand_path($1), require: false }]
else
[place, { require: false }]
end
end

gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 6')
gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || '~> 1')
gem "beaker-hostgenerator", *location_for(ENV['BEAKER_HOSTGENERATOR_VERSION'] || '~> 2')
gem "beaker-puppet", *location_for(ENV['BEAKER_PUPPET_VERSION'] || '~> 4')
gem "beaker-module_install_helper", require: false
gem "beaker-puppet_install_helper", require: false
gem "beaker-task_helper", '~>1.9' if ENV['GEM_BOLT']
gem "puppetlabs_spec_helper", '~> 8.0', require: false
gem "voxpupuli-acceptance", '~> 3', require: false
gem "puppet_litmus", '~> 2.0', require: false, platforms: [:ruby, :x64_mingw]
Loading