-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #25 from bschonec/puppet_6_deprecated_along_with_r…
…uby_25
- Loading branch information
Showing
3 changed files
with
43 additions
and
90 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,73 +1,26 @@ | ||
source ENV['GEM_SOURCE'] || 'https://rubygems.org' | ||
|
||
def location_for(place_or_version, fake_version = nil) | ||
git_url_regex = %r{\A(?<url>(https?|git)[:@][^#]*)(#(?<branch>.*))?} | ||
file_url_regex = %r{\Afile:\/\/(?<path>.*)} | ||
|
||
if place_or_version && (git_url = place_or_version.match(git_url_regex)) | ||
[fake_version, { git: git_url[:url], branch: git_url[:branch], require: false }].compact | ||
elsif place_or_version && (file_url = place_or_version.match(file_url_regex)) | ||
['>= 0', { path: File.expand_path(file_url[:path]), require: false }] | ||
else | ||
[place_or_version, { require: false }] | ||
end | ||
end | ||
|
||
group :development do | ||
gem "json", '= 2.1.0', require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) | ||
gem "json", '= 2.3.0', require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) | ||
gem "json", '= 2.5.1', require: false if Gem::Requirement.create(['>= 3.0.0', '< 3.0.5']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) | ||
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 "voxpupuli-puppet-lint-plugins", '~> 5.0', require: false | ||
gem "facterdb", '~> 1.18', require: false | ||
gem "metadata-json-lint", '~> 3.0', require: false | ||
gem "puppetlabs_spec_helper", '~> 6.0', require: false | ||
gem "rspec-puppet-facts", '~> 2.0', require: false | ||
gem "codecov", '~> 0.2', require: false | ||
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.5', require: false | ||
gem "puppet-debugger", '~> 1.0', require: false | ||
gem "rubocop", '= 1.48.1', require: false | ||
gem "rubocop-performance", '= 1.16.0', require: false | ||
gem "rubocop-rspec", '= 2.19.0', require: false | ||
gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw] | ||
end | ||
group :system_tests do | ||
gem "puppet_litmus", '~> 1.0', require: false, platforms: [:ruby, :x64_mingw] | ||
gem "serverspec", '~> 2.41', require: false | ||
end | ||
|
||
puppet_version = ENV['PUPPET_GEM_VERSION'] | ||
facter_version = ENV['FACTER_GEM_VERSION'] | ||
hiera_version = ENV['HIERA_GEM_VERSION'] | ||
# The test group is used for static validations and unit tests in gha-puppet's | ||
# basic and beaker gha-puppet workflows. | ||
group :test do | ||
# Require the latest Puppet by default unless a specific version was requested | ||
# CI will typically set it to '~> 7.0' to get 7.x | ||
gem 'puppet', ENV.fetch('PUPPET_GEM_VERSION', '>= 0'), require: false | ||
|
||
gems = {} | ||
# Needed to build the test matrix based on metadata | ||
gem 'puppet_metadata', '~> 3.4', require: false | ||
|
||
gems['puppet'] = location_for(puppet_version) | ||
|
||
# If facter or hiera versions have been specified via the environment | ||
# variables | ||
|
||
gems['facter'] = location_for(facter_version) if facter_version | ||
gems['hiera'] = location_for(hiera_version) if hiera_version | ||
|
||
gems.each do |gem_name, gem_params| | ||
gem gem_name, *gem_params | ||
end | ||
# Needed for the rake tasks | ||
gem 'puppetlabs_spec_helper', '>= 2.16.0', '< 7', require: false | ||
|
||
# Evaluate Gemfile.local and ~/.gemfile if they exist | ||
extra_gemfiles = [ | ||
"#{__FILE__}.local", | ||
File.join(Dir.home, '.gemfile'), | ||
] | ||
# Rubocop versions are also specific so it's recommended | ||
# to be precise. Can be turned off via a parameter | ||
gem 'rubocop', require: false | ||
gem 'rubocop-performance', require: false | ||
|
||
extra_gemfiles.each do |gemfile| | ||
if File.file?(gemfile) && File.readable?(gemfile) | ||
eval(File.read(gemfile), binding) | ||
end | ||
# metagem that pulls in all further requirements | ||
gem 'voxpupuli-test', '~> 7.0', require: false | ||
end | ||
# vim: syntax=ruby |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters