diff --git a/.travis.yml b/.travis.yml index c5a926e..c33b919 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,28 +1,28 @@ --- language: ruby sudo: false cache: bundler -bundler_args: --without system_tests +bundler_args: --without system_tests --without release script: ["bundle exec rake validate", "bundle exec rake lint", "bundle exec rake spec SPEC_OPTS='--format documentation'"] matrix: fast_finish: true include: - rvm: 2.1.9 env: PUPPET_GEM_VERSION="~> 4.0" - rvm: 2.4.1 env: PUPPET_GEM_VERSION="~> 4" - rvm: 2.4.1 env: PUPPET_GEM_VERSION="~> 5" notifications: email: false deploy: provider: puppetforge user: camptocamp password: secure: "ASTRdmLjJNa1NvHy2LRGvmvUeth6W3Fh/alYWvcvI8nDDsdkweHk0iXhcXZwtMQReb0NI5vJiRNXNy7a3XySC4+SP3hfHuDU58H2FqC4Ff0EHRPRHTEiXf7xmN53RxXYXZQvrFfqUb6tIsBNVKVmsYWNe01k8NVKPyYDfQB75PQ=" on: tags: true # all_branches is required to use tags all_branches: true # Only publish if our main Ruby target builds rvm: 2.1.9 diff --git a/Gemfile b/Gemfile index 95c1d66..6a2796c 100644 --- a/Gemfile +++ b/Gemfile @@ -1,46 +1,50 @@ source ENV['GEM_SOURCE'] || "https://rubygems.org" group :development, :unit_tests do gem 'rake', :require => false gem 'rspec', :require => false gem 'rspec-puppet', :require => false gem 'puppetlabs_spec_helper', :require => false gem 'metadata-json-lint', :require => false gem 'puppet-lint', :require => false gem 'puppet-lint-unquoted_string-check', :require => false gem 'puppet-lint-empty_string-check', :require => false gem 'puppet-lint-spaceship_operator_without_tag-check', :require => false gem 'puppet-lint-undef_in_function-check', :require => false gem 'puppet-lint-leading_zero-check', :require => false gem 'puppet-lint-trailing_comma-check', :require => false gem 'puppet-lint-file_ensure-check', :require => false gem 'puppet-lint-version_comparison-check', :require => false gem 'puppet-lint-file_source_rights-check', :require => false gem 'puppet-lint-alias-check', :require => false gem 'rspec-puppet-facts', :require => false gem 'puppet-blacksmith', :require => false if RUBY_VERSION !~ /^1\./ gem 'json_pure', '< 2.0.2', :require => false end +group :release do + gem 'github_changelog_generator', :require => false, :git => 'https://github.com/skywinder/github-changelog-generator.git' +end + group :system_tests do gem 'beaker', :require => false gem 'beaker-rspec', '> 5', :require => false gem 'beaker_spec_helper', :require => false gem 'serverspec', :require => false gem 'specinfra', :require => false end if facterversion = ENV['FACTER_GEM_VERSION'] gem 'facter', facterversion, :require => false else # There are no facts in place for facter > 2.4 in rspec-puppet-facts yet gem 'facter', '~> 2.4.0', :require => false end if puppetversion = ENV['PUPPET_GEM_VERSION'] gem 'puppet', puppetversion, :require => false else gem 'puppet', :require => false end # vim:ft=ruby diff --git a/Rakefile b/Rakefile index aa7b8a1..16b863c 100644 --- a/Rakefile +++ b/Rakefile @@ -1,17 +1,30 @@ require 'puppetlabs_spec_helper/rake_tasks' require 'puppet-lint/tasks/puppet-lint' Rake::Task[:lint].clear PuppetLint::RakeTask.new :lint do |config| config.ignore_paths = ["spec/**/*.pp", "pkg/**/*.pp", "vendor/**/*.pp"] config.disable_checks = ['140chars'] config.fail_on_warnings = true end PuppetSyntax.exclude_paths = ["spec/fixtures/**/*.pp", "vendor/**/*"] # Publishing tasks unless RUBY_VERSION =~ /^1\./ require 'puppet_blacksmith' require 'puppet_blacksmith/rake_tasks' end + +begin + require 'github_changelog_generator/task' + GitHubChangelogGenerator::RakeTask.new :changelog do |config| + version = (Blacksmith::Modulefile.new).version + config.future_release = "#{version}" if version =~ /^\d+\.\d+.\d+$/ + config.header = "# Changelog\n\n" + config.exclude_labels = %w{duplicate question invalid wontfix wont-fix modulesync skip-changelog} + config.user = 'camptocamp' + config.project = 'puppet-systemd' + end +rescue LoadError +end