diff --git a/.gitignore b/.gitignore index 2754e97..c323bea 100644 --- a/.gitignore +++ b/.gitignore @@ -1,36 +1,38 @@ # Default .gitignore for Ruby *.gem *.rbc .bundle .config coverage InstalledFiles lib/bundler/man pkg rdoc spec/reports test/tmp test/version_tmp tmp vendor/ .vendor/ # YARD artifacts .yardoc _yardoc doc/ # Vim *.swp # Eclipse .project # OS X .DS_Store # Puppet coverage/ spec/fixtures/manifests/* spec/fixtures/modules/* Gemfile.lock .forge-releng/ +.vagrant +log diff --git a/.travis.yml b/.travis.yml index 5acdf60..d7cf714 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,36 +1,76 @@ sudo: false language: ruby cache: bundler bundler_args: "--without system_tests development" before_install: -- bundle -v -- rm Gemfile.lock || true -- gem update --system -- gem update bundler -- gem --version -- bundle -v + - bundle -v + - rm Gemfile.lock || true + - gem update --system + - gem update bundler + - gem --version + - bundle -v script: - bundle exec rake $CHECK -matrix: +jobs: fast_finish: true include: - - rvm: 2.3.1 - env: PUPPET_VERSION="~> 5.0" CHECK=test FORGEDEPLOY=yes - - rvm: 2.3.1 - env: PUPPET_VERSION="~> 5.0" CHECK=rubocop - - rvm: 2.5.3 - env: PUPPET_VERSION="~> 6.1" CHECK=test - - rvm: 2.5.3 - env: PUPPET_VERSION="~> 6.1" CHECK=rubocop + - rvm: 2.3.1 + env: PUPPET_VERSION="~> 5.0" CHECK=test FORGEDEPLOY=yes + - rvm: 2.3.1 + env: PUPPET_VERSION="~> 5.0" CHECK=rubocop + - rvm: 2.5.3 + env: PUPPET_VERSION="~> 6.1" CHECK=test + - rvm: 2.5.3 + env: PUPPET_VERSION="~> 6.1" CHECK=rubocop + - rvm: 2.5.3 + bundler_args: --without development release + env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=centos7-64{image=centos:7.6.1810} CHECK=beaker + services: docker + - rvm: 2.5.3 + bundler_args: --without development release + env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=centos7-64{image=centos:7.6.1810} CHECK=beaker + services: docker + - rvm: 2.5.3 + bundler_args: --without development release + env: BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_setfile=debian10-64 CHECK=beaker + services: docker + - rvm: 2.5.3 + bundler_args: --without development release + env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=debian10-64 CHECK=beaker + services: docker + - rvm: 2.5.3 + bundler_args: --without development release + env: BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_setfile=debian9-64 CHECK=beaker + services: docker + - rvm: 2.5.3 + bundler_args: --without development release + env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=debian9-64 CHECK=beaker + services: docker + - rvm: 2.5.3 + bundler_args: --without development release + env: BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_setfile=ubuntu2004-64 CHECK=beaker + services: docker + - rvm: 2.5.3 + bundler_args: --without development release + env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=ubuntu2004-64 CHECK=beaker + services: docker + - rvm: 2.5.3 + bundler_args: --without development release + env: BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_setfile=ubuntu1804-64 CHECK=beaker + services: docker + - rvm: 2.5.3 + bundler_args: --without development release + env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=ubunt1804-64 CHECK=beaker + services: docker notifications: email: false deploy: provider: puppetforge user: saz password: secure: Ul2gGsT/hMn7xFHtgCCiCMnDGrhCjvxA77hCMrponMI5QI5K9MYsJ/ellOjcscGmsy7ijRVk86GK3R16z3ESyBekEd/gK4rfKP2TKq3sgX1xobspee4TKbTUHwoX+L0Rk61LYlutD3QjvGxTGQ80fPb4JlNQHAE264HJw7PZgUk= on: tags: true all_branches: true rvm: 2.3.1 condition: "$FORGEDEPLOY = true" diff --git a/Gemfile b/Gemfile index 016a516..8a43267 100644 --- a/Gemfile +++ b/Gemfile @@ -1,51 +1,51 @@ # Thie file is based on voxpupuli/modulesync_config source ENV['GEM_SOURCE'] || "https://rubygems.org" def location_for(place, fake_version = nil) if place =~ /^(git[:@][^#]*)#(.*)/ [fake_version, { :git => $1, :branch => $2, :require => false }].compact elsif place =~ /^file:\/\/(.*)/ ['>= 0', { :path => File.expand_path($1), :require => false }] else [place, { :require => false }] end end group :test do gem 'voxpupuli-test', '~> 2.1', :require => false gem 'coveralls', :require => false gem 'simplecov-console', :require => false gem 'fakefs', :require => false gem 'zabbixapi', :require => false end group :development do gem 'travis', :require => false gem 'travis-lint', :require => false gem 'guard-rake', :require => false gem 'overcommit', '>= 0.39.1', :require => false end group :system_tests do gem 'voxpupuli-acceptance', :require => false end group :release do gem 'github_changelog_generator', :require => false, :git => 'https://github.com/voxpupuli/github-changelog-generator', :branch => 'voxpupuli_essential_fixes' gem 'puppet-blacksmith', :require => false gem 'voxpupuli-release', :require => false gem 'puppet-strings', '>= 2.2', :require => false end if facterversion = ENV['FACTER_GEM_VERSION'] gem 'facter', facterversion.to_s, :require => false, :groups => [:test] else gem 'facter', :require => false, :groups => [:test] end ENV['PUPPET_VERSION'].nil? ? puppetversion = '~> 6.0' : puppetversion = ENV['PUPPET_VERSION'].to_s gem 'puppet', puppetversion, :require => false, :groups => [:test] - +gem 'irb' # vim: syntax=ruby diff --git a/metadata.json b/metadata.json index 8df1eb6..aa11084 100644 --- a/metadata.json +++ b/metadata.json @@ -1,41 +1,61 @@ { "name": "saz-memcached", "version": "3.7.0", "author": "saz", "summary": "Manage memcached via Puppet", "license": "Apache-2.0", "source": "git://github.com/saz/puppet-memcached.git", "project_page": "https://github.com/saz/puppet-memcached", "issues_url": "https://github.com/saz/puppet-memcached/issues", "description": "Manage memcached via Puppet", "requirements": [ {"name":"puppet","version_requirement":">= 5.5.8 < 7.0.0" } ], "dependencies": [ {"name":"puppetlabs/stdlib","version_requirement":">= 4.13.1 < 7.0.0"}, {"name":"puppetlabs/firewall","version_requirement":">= 0.1.0 < 3.0.0"} ], "operatingsystem_support": [ { - "operatingsystem": "RedHat" + "operatingsystem": "RedHat", + "operatingsystemrelease": [ + "7" + ] }, { - "operatingsystem": "CentOS" + "operatingsystem": "CentOS", + "operatingsystemrelease": [ + "7" + ] }, { - "operatingsystem": "OracleLinux" + "operatingsystem": "OracleLinux", + "operatingsystemrelease": [ + "7" + ] }, { - "operatingsystem": "Scientific" + "operatingsystem": "Scientific", + "operatingsystemrelease": [ + "7" + ] }, { - "operatingsystem": "Debian" + "operatingsystem": "Debian", + "operatingsystemrelease": [ + "9", + "10" + ] }, { - "operatingsystem": "Ubuntu" + "operatingsystem": "Ubuntu", + "operatingsystemrelease": [ + "18.04", + "20.04" + ] }, { "operatingsystem": "Windows" } ] } diff --git a/spec/acceptance/init_spec.rb b/spec/acceptance/init_spec.rb new file mode 100644 index 0000000..6acbb9a --- /dev/null +++ b/spec/acceptance/init_spec.rb @@ -0,0 +1,17 @@ +require 'spec_helper_acceptance' + +describe 'memcached' do + context 'with all defaults' do + let(:pp) do + 'include memcached' + end + it 'works idempotently with no errors' do + apply_manifest(pp, catch_failures: true) + apply_manifest(pp, catch_changes: true) + end + describe service('memcached') do + it { is_expected.to be_enabled } + it { is_expected.to be_running } + end + end +end diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb new file mode 100644 index 0000000..6b28533 --- /dev/null +++ b/spec/spec_helper_acceptance.rb @@ -0,0 +1,4 @@ +# This file is completely based on voxpupuli/modulesync_config +require 'voxpupuli/acceptance/spec_helper_acceptance' + +configure_beaker