diff --git a/.sync.yml b/.sync.yml index e6bccd4..da4e394 100644 --- a/.sync.yml +++ b/.sync.yml @@ -1,39 +1,46 @@ --- .github/CONTRIBUTING.md: delete: true .github/ISSUE_TEMPLATE.md: delete: true .github/PULL_REQUEST_TEMPLATE.md: delete: true .gitlab-ci.yml: delete: true .travis.yml: remove_branches: - main - /^v\d/ docker_sets: - set: debian8-64 - set: debian9-64 - set: debian10-64 - set: ubuntu1604-64 - set: ubuntu1804-64 - set: centos6-64 - set: centos7-64 irc: false user: 'deric' secure: 'K3gfvfUtsZ4l6TTChG5jBLIB4j9ZG3zQECBCMI0ZcYiyiFYIihDtraO6sTf0qOcocRg5TpihBNJ8IpBPdDvd8bOrQCIWnSor2hP6NKA8J0XCDX5H4hmyieJhFCuGydaopia6rATEbj4TIOzMk8zPVc/lavg4yRkpwcxCy7UQVKc=' Rakefile: config.user: 'deric' spec/spec_helper.rb: spec_overrides: "require 'spec_helper_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_local.rb'))" Gemfile: required: ":development": - gem: 'overcommit' + optional: + ':acceptance': + - gem: beaker + - gem: beaker-rspec + - gem: beaker-docker + - gem: beaker-puppet_install_helper + - gem: beaker-module_install_helper diff --git a/Gemfile b/Gemfile index 5119708..cdea6d7 100644 --- a/Gemfile +++ b/Gemfile @@ -1,73 +1,80 @@ source ENV['GEM_SOURCE'] || 'https://rubygems.org' def location_for(place_or_version, fake_version = nil) git_url_regex = %r{\A(?(https?|git)[:@][^#]*)(#(?.*))?} file_url_regex = %r{\Afile:\/\/(?.*)} 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 ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments minor_version = ruby_version_segments[0..1].join('.') group :development do gem "json", '= 2.0.4', require: false if Gem::Requirement.create('~> 2.4.2').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) 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', '< 2.8.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) gem "puppet-module-posix-default-r#{minor_version}", '~> 1.0', require: false, platforms: [:ruby] gem "puppet-module-posix-dev-r#{minor_version}", '~> 1.0', require: false, platforms: [:ruby] gem "puppet-module-win-default-r#{minor_version}", '~> 1.0', require: false, platforms: [:mswin, :mingw, :x64_mingw] gem "puppet-module-win-dev-r#{minor_version}", '~> 1.0', require: false, platforms: [:mswin, :mingw, :x64_mingw] gem "overcommit", require: false end group :system_tests do gem "puppet-module-posix-system-r#{minor_version}", '~> 1.0', require: false, platforms: [:ruby] gem "puppet-module-win-system-r#{minor_version}", '~> 1.0', require: false, platforms: [:mswin, :mingw, :x64_mingw] end +group :acceptance do + gem "beaker", require: false + gem "beaker-rspec", require: false + gem "beaker-docker", require: false + gem "beaker-puppet_install_helper", require: false + gem "beaker-module_install_helper", require: false +end puppet_version = ENV['PUPPET_GEM_VERSION'] facter_version = ENV['FACTER_GEM_VERSION'] hiera_version = ENV['HIERA_GEM_VERSION'] gems = {} 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 if Gem.win_platform? && puppet_version =~ %r{^(file:///|git://)} # If we're using a Puppet gem on Windows which handles its own win32-xxx gem # dependencies (>= 3.5.0), set the maximum versions (see PUP-6445). gems['win32-dir'] = ['<= 0.4.9', require: false] gems['win32-eventlog'] = ['<= 0.6.5', require: false] gems['win32-process'] = ['<= 0.7.5', require: false] gems['win32-security'] = ['<= 0.2.5', require: false] gems['win32-service'] = ['0.8.8', require: false] end gems.each do |gem_name, gem_params| gem gem_name, *gem_params end # Evaluate Gemfile.local and ~/.gemfile if they exist extra_gemfiles = [ "#{__FILE__}.local", File.join(Dir.home, '.gemfile'), ] extra_gemfiles.each do |gemfile| if File.file?(gemfile) && File.readable?(gemfile) eval(File.read(gemfile), binding) end end # vim: syntax=ruby diff --git a/spec/acceptance/nodesets/centos6-64.yml b/spec/acceptance/nodesets/centos6-64.yml new file mode 100644 index 0000000..609c108 --- /dev/null +++ b/spec/acceptance/nodesets/centos6-64.yml @@ -0,0 +1,17 @@ +HOSTS: + centos-6-x64: + default_apply_opts: + order: random + strict_variables: + platform: el-6-x86_64 + hypervisor : docker + image: centos:6 + docker_preserve_image: true + docker_cmd: '["/sbin/init"]' + docker_image_commands: + - 'rm -rf /var/run/network/*' + - 'yum install -y tar wget' + - 'rm /etc/init/tty.conf' +CONFIG: + type: aio + log_level: debug \ No newline at end of file diff --git a/spec/acceptance/nodesets/centos7-64.yml b/spec/acceptance/nodesets/centos7-64.yml new file mode 100644 index 0000000..582dcfb --- /dev/null +++ b/spec/acceptance/nodesets/centos7-64.yml @@ -0,0 +1,15 @@ +HOSTS: + centos-7-x64: + default_apply_opts: + order: random + strict_variables: + platform: el-7-x86_64 + hypervisor : docker + image: centos:7 + docker_preserve_image: true + docker_cmd: '["/usr/sbin/init"]' + docker_image_commands: + - 'yum install -y crontabs tar wget iproute' +CONFIG: + type: aio + log_level: debug \ No newline at end of file diff --git a/spec/acceptance/nodesets/debian10-64.yml b/spec/acceptance/nodesets/debian10-64.yml new file mode 100644 index 0000000..2a2fe52 --- /dev/null +++ b/spec/acceptance/nodesets/debian10-64.yml @@ -0,0 +1,12 @@ +HOSTS: + debian-10-x64: + platform: debian-10-amd64 + hypervisor : docker + image: debian:10 + roles: + - agent + debug: false +CONFIG: + masterless: true + log_level: info + type: foss diff --git a/spec/acceptance/nodesets/debian8-64.yml b/spec/acceptance/nodesets/debian8-64.yml new file mode 100644 index 0000000..a197c68 --- /dev/null +++ b/spec/acceptance/nodesets/debian8-64.yml @@ -0,0 +1,15 @@ +HOSTS: + debian-8-x64: + platform: debian-8-amd64 + hypervisor : docker + image: debian:8 + roles: + - agent + debug: false + docker_image_commands: + - 'apt-get install -y wget' + - 'locale-gen en_US.UTF-8' +CONFIG: + masterless: true + log_level: info + type: foss diff --git a/spec/acceptance/nodesets/debian9-64.yml b/spec/acceptance/nodesets/debian9-64.yml new file mode 100644 index 0000000..cdca81a --- /dev/null +++ b/spec/acceptance/nodesets/debian9-64.yml @@ -0,0 +1,12 @@ +HOSTS: + debian-9-x64: + platform: debian-9-amd64 + hypervisor : docker + image: debian:9 + roles: + - agent + debug: false +CONFIG: + masterless: true + log_level: info + type: foss diff --git a/spec/acceptance/nodesets/ubuntu1604-64.yml b/spec/acceptance/nodesets/ubuntu1604-64.yml new file mode 100644 index 0000000..d4ed5be --- /dev/null +++ b/spec/acceptance/nodesets/ubuntu1604-64.yml @@ -0,0 +1,16 @@ +HOSTS: + ubuntu-1604-x64: + default_apply_opts: + order: random + strict_variables: + platform: ubuntu-16.04-amd64 + hypervisor : docker + image: ubuntu:16.04 + docker_preserve_image: true + docker_cmd: '["/sbin/init"]' + docker_image_commands: + - 'apt-get install -y net-tools wget locales' + - 'locale-gen en_US.UTF-8' +CONFIG: + type: aio + log_level: debug \ No newline at end of file diff --git a/spec/acceptance/nodesets/ubuntu1804-64.yml b/spec/acceptance/nodesets/ubuntu1804-64.yml new file mode 100644 index 0000000..55e7166 --- /dev/null +++ b/spec/acceptance/nodesets/ubuntu1804-64.yml @@ -0,0 +1,16 @@ +HOSTS: + ubuntu-1804-x64: + default_apply_opts: + order: random + strict_variables: + platform: ubuntu-18.04-amd64 + hypervisor : docker + image: ubuntu:18.04 + docker_preserve_image: true + docker_cmd: '["/sbin/init"]' + docker_image_commands: + - 'apt-get install -y net-tools wget locales' + - 'locale-gen en_US.UTF-8' +CONFIG: + type: aio + log_level: debug \ No newline at end of file