From 07f8d111d5a2ee7fff71ee05e6790242a44c2fc5 Mon Sep 17 00:00:00 2001 From: Trey Dockendorf Date: Fri, 17 May 2019 12:25:26 -0400 Subject: [PATCH] Support Puppet 5 & 6 and bump module dependencies --- .fixtures.yml | 10 +++++---- .travis.yml | 30 ++++++++++++++++++-------- Gemfile | 8 +++++-- Rakefile | 39 ++++++++++++++++++++++++++++------ manifests/client.pp | 4 ++-- metadata.json | 15 ++++++------- spec/spec_helper_acceptance.rb | 1 + 7 files changed, 75 insertions(+), 32 deletions(-) diff --git a/.fixtures.yml b/.fixtures.yml index a8c2543..c0062cb 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -1,5 +1,11 @@ fixtures: repositories: + yumrepo_core: + repo: https://github.com/puppetlabs/puppetlabs-yumrepo_core.git + puppet_version: ">= 6.0.0" + augeas_core: + repo: https://github.com/puppetlabs/puppetlabs-augeas_core.git + puppet_version: ">= 6.0.0" stdlib: repo: git://github.com/puppetlabs/puppetlabs-stdlib.git inifile: @@ -8,17 +14,13 @@ fixtures: repo: git://github.com/puppetlabs/puppetlabs-mysql.git firewall: repo: git://github.com/puppetlabs/puppetlabs-firewall.git - ref: 1.9.0 apache: repo: git://github.com/puppetlabs/puppetlabs-apache.git concat: repo: git://github.com/puppetlabs/puppetlabs-concat.git - ref: 2.2.1 epel: repo: git://github.com/stahnma/puppet-module-epel.git - ref: 1.0.0 autofs: repo: https://github.com/voxpupuli/puppet-autofs - ref: v3.1.0 symlinks: osg: "#{source_dir}" diff --git a/.travis.yml b/.travis.yml index 1af1b1a..dc66610 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,21 +6,33 @@ script: bundle exec rake release_checks matrix: fast_finish: true include: - - rvm: 2.1.6 - env: PUPPET_GEM_VERSION="~> 4.0" STRICT_VARIABLES="yes" - - rvm: 2.4.0 + - rvm: 2.4.4 env: PUPPET_GEM_VERSION="~> 5.0" STRICT_VARIABLES="yes" - - rvm: 2.1.6 + - rvm: 2.5.1 + env: PUPPET_GEM_VERSION="~> 6.0" STRICT_VARIABLES="yes" + - rvm: 2.4.4 sudo: required services: docker - env: BEAKER_set="centos-6-x64-docker" + env: BEAKER_set="centos-6-x64-docker" BEAKER_PUPPET_COLLECTION=puppet5 bundler_args: - script: sudo service docker restart ; sleep 10 ; bundle exec rake beaker - - rvm: 2.1.6 + script: bundle exec rake beaker + - rvm: 2.4.4 sudo: required services: docker - env: BEAKER_set="centos-7-x64-docker" + env: BEAKER_set="centos-6-x64-docker" BEAKER_PUPPET_COLLECTION=puppet6 bundler_args: - script: sudo service docker restart ; sleep 10 ; bundle exec rake beaker + script: bundle exec rake beaker + - rvm: 2.4.4 + sudo: required + services: docker + env: BEAKER_set="centos-7-x64-docker" BEAKER_PUPPET_COLLECTION=puppet5 + bundler_args: + script: bundle exec rake beaker + - rvm: 2.4.4 + sudo: required + services: docker + env: BEAKER_set="centos-7-x64-docker" BEAKER_PUPPET_COLLECTION=puppet6 + bundler_args: + script: bundle exec rake beaker notifications: email: false diff --git a/Gemfile b/Gemfile index 005674e..b267090 100644 --- a/Gemfile +++ b/Gemfile @@ -15,10 +15,14 @@ group :development, :test do gem 'puppet-syntax', :require => false gem 'simplecov', :require => false gem 'json_pure', '~>1.x', :require => false + gem 'puppet-strings', :require => false + gem 'github_changelog_generator', :require => false end group :system_tests do - gem 'beaker', '~>2.x', :require => false + gem 'beaker', '~>4.x', :require => false + gem 'beaker-docker', :require => false + gem 'beaker-puppet', :require => false gem 'beaker-rspec', :require => false gem 'serverspec', :require => false gem 'beaker-puppet_install_helper', :require => false @@ -31,4 +35,4 @@ else gem 'facter', :require => false end -gem 'puppet', ENV['PUPPET_GEM_VERSION'] || '~> 4.x', :require => false +gem 'puppet', ENV['PUPPET_GEM_VERSION'] || '~> 5.x', :require => false diff --git a/Rakefile b/Rakefile index e9cefc0..a4120bb 100644 --- a/Rakefile +++ b/Rakefile @@ -1,17 +1,12 @@ require 'puppetlabs_spec_helper/rake_tasks' require 'puppet-lint/tasks/puppet-lint' require 'puppet-syntax/tasks/puppet-syntax' +require 'puppet-strings/tasks' task :default do sh %{rake -T} end -desc "Run syntax, lint and spec tasks." -task :test => [:syntax, :lint, :spec] - -desc "Run syntax, lint and spec_standalone tasks." -task :test_standalone => [:syntax, :lint, :spec_standalone] - exclude_paths = [ "pkg/**/*", "vendor/**/*", @@ -23,9 +18,39 @@ PuppetLint::RakeTask.new :lint do |config| config.ignore_paths = exclude_paths config.fail_on_warnings = true config.log_format = "%{path}:%{line}:%{check}:%{KIND}:%{message}" - config.disable_checks = ["140chars", "class_inherits_from_params_class", "quoted_booleans"] + config.disable_checks = ['140chars', 'class_inherits_from_params_class'] #config.relative = true end PuppetLint.configuration.relative = true PuppetSyntax.exclude_paths = exclude_paths + +desc "Run syntax, lint, and spec tests." +task :test => [ + :syntax, + :lint, + :spec, +] + +desc "Run release prep commands" +task :release_prep, [:release] do |t, args| + metadata_json = File.join(File.dirname(__FILE__), 'metadata.json') + metadata = JSON.load(File.read(metadata_json)) + author = metadata['author'] + project = metadata['project_page'].split('/')[-1] + if args[:release].nil? + release = metadata['version'] + else + release = args[:release] + end + + + sh "github_changelog_generator --user #{author} --project #{project} --output /dev/stdout --future-release #{release}" + sh "puppet strings generate --format markdown" +end + +desc "Run release commands" +task :release do + Rake::Task[:build].invoke + Rake::Task[:'strings:gh_pages:update'].invoke +end diff --git a/manifests/client.pp b/manifests/client.pp index 727be3f..7e6ebe3 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -16,14 +16,14 @@ $condor_configs_default = { 'SCHEDD_HOST' => $osg::condor_schedd_host, 'COLLECTOR_HOST' => $osg::condor_collector_host, - 'use_x509userproxy' => 'true', + 'use_x509userproxy' => 'true', # lint:ignore:quoted_booleans 'SUBMIT_EXPRS' => '$(SUBMIT_EXPRS), use_x509userproxy', } $condor_ce_configs_default = { 'SCHEDD_HOST' => $osg::condor_schedd_host, 'COLLECTOR_HOST' => $osg::condor_collector_host, - 'use_x509userproxy' => 'true', + 'use_x509userproxy' => 'true', # lint:ignore:quoted_booleans 'SUBMIT_EXPRS' => '$(SUBMIT_EXPRS), use_x509userproxy', } diff --git a/metadata.json b/metadata.json index 37c24cf..711ff23 100644 --- a/metadata.json +++ b/metadata.json @@ -23,16 +23,15 @@ } ], "dependencies": [ - { "name": "puppetlabs/stdlib", "version_requirement": ">=3.2.0 <5.0.0" }, - { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, - { "name": "puppetlabs/mysql", "version_requirement": ">=2.0.0 <4.0.0" }, - { "name": "puppetlabs/firewall", "version_requirement": ">=1.0.0 <2.0.0" }, - { "name": "puppetlabs/apache", "version_requirement": ">=1.0.0 <3.0.0" }, - { "name": "puppetlabs/concat", "version_requirement": ">= 2.2.1 <5.0.0"}, + { "name": "puppetlabs/stdlib", "version_requirement": ">=3.2.0 <6.0.0" }, + { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <4.0.0" }, + { "name": "puppetlabs/firewall", "version_requirement": ">=1.0.0 <3.0.0" }, + { "name": "puppetlabs/apache", "version_requirement": ">=1.0.0 <5.0.0" }, + { "name": "puppetlabs/concat", "version_requirement": ">= 2.2.1 <6.0.0"}, { "name": "stahnma/epel", "version_requirement": ">=0.0.6 <2.0.0" }, - { "name": "puppet/autofs", "version_requirement": ">=3.1.0 <5.0.0"} + { "name": "puppet/autofs", "version_requirement": ">=5.0.0 <6.0.0"} ], "requirements": [ - {"name": "puppet", "version_requirement": ">= 4.7.0 < 6.0.0" } + {"name": "puppet", "version_requirement": ">= 5.0.0 < 7.0.0" } ] } diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb index 77866d1..f1d0402 100644 --- a/spec/spec_helper_acceptance.rb +++ b/spec/spec_helper_acceptance.rb @@ -1,4 +1,5 @@ require 'beaker-rspec' +require 'beaker-puppet' require 'beaker/puppet_install_helper' require 'beaker/module_install_helper'