diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d72203..a93395b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,63 @@ # Changelog +## [3.0.0](https://github.com/voxpupuli/rspec-puppet-facts/tree/3.0.0) (2024-03-23) + +[Full Changelog](https://github.com/voxpupuli/rspec-puppet-facts/compare/2.0.5...3.0.0) + +**symbolized facts deprecation** + +With the release of rspec-puppet-facts 4.0.0 we will remove support for symbolized facts. At the moment people typically use this in their unit files: + +```ruby +case facts[:os]['name'] +when 'Archlinux' + context 'on Archlinux' do + it { is_expected.to contain_package('borg') } + end +when 'Ubuntu' +``` + +For history reasons the first level of facts were symbols. You will have to update it to strings with the 4.0.0 release: + +```ruby +case facts['os']['name'] +when 'Archlinux' + context 'on Archlinux' do + it { is_expected.to contain_package('borg') } + end +when 'Ubuntu' +``` + + +**Breaking changes:** + +- Use facterdb\_string\_keys configuration option for custom facts [\#157](https://github.com/voxpupuli/rspec-puppet-facts/pull/157) ([jordanbreen28](https://github.com/jordanbreen28)) +- Do not query for the exact facter version [\#151](https://github.com/voxpupuli/rspec-puppet-facts/pull/151) ([ekohl](https://github.com/ekohl)) +- Drop Ruby 2.4/2.5/2.6 support [\#149](https://github.com/voxpupuli/rspec-puppet-facts/pull/149) ([bastelfreak](https://github.com/bastelfreak)) + +**Implemented enhancements:** + +- Add Ruby 3.3 support [\#169](https://github.com/voxpupuli/rspec-puppet-facts/pull/169) ([bastelfreak](https://github.com/bastelfreak)) +- gemspec: Add version constraints & CI: Build gem in strict mode [\#165](https://github.com/voxpupuli/rspec-puppet-facts/pull/165) ([bastelfreak](https://github.com/bastelfreak)) +- update puppet agent components [\#164](https://github.com/voxpupuli/rspec-puppet-facts/pull/164) ([bastelfreak](https://github.com/bastelfreak)) +- Add merge facts option to add\_custom\_fact [\#160](https://github.com/voxpupuli/rspec-puppet-facts/pull/160) ([jordanbreen28](https://github.com/jordanbreen28)) +- Collect facts iteratively [\#152](https://github.com/voxpupuli/rspec-puppet-facts/pull/152) ([ekohl](https://github.com/ekohl)) +- Use Hash.to\_h to construct a new hash [\#150](https://github.com/voxpupuli/rspec-puppet-facts/pull/150) ([ekohl](https://github.com/ekohl)) +- Add Ruby 3.2 support [\#148](https://github.com/voxpupuli/rspec-puppet-facts/pull/148) ([bastelfreak](https://github.com/bastelfreak)) + +**Merged pull requests:** + +- Update voxpupuli-rubocop requirement from ~\> 2.4.0 to ~\> 2.6.0 [\#168](https://github.com/voxpupuli/rspec-puppet-facts/pull/168) ([dependabot[bot]](https://github.com/apps/dependabot)) +- github\_changelog\_generator: Apply best practices [\#163](https://github.com/voxpupuli/rspec-puppet-facts/pull/163) ([bastelfreak](https://github.com/bastelfreak)) +- Gemfile: Add faraday as github\_changelog\_generator dep [\#162](https://github.com/voxpupuli/rspec-puppet-facts/pull/162) ([bastelfreak](https://github.com/bastelfreak)) +- voxpupuli-rubocop: Pin to patch version [\#161](https://github.com/voxpupuli/rspec-puppet-facts/pull/161) ([bastelfreak](https://github.com/bastelfreak)) +- Update voxpupuli-rubocop requirement from ~\> 1.3 to ~\> 2.0 [\#156](https://github.com/voxpupuli/rspec-puppet-facts/pull/156) ([dependabot[bot]](https://github.com/apps/dependabot)) +- CI: add dummy job to depend on [\#155](https://github.com/voxpupuli/rspec-puppet-facts/pull/155) ([bastelfreak](https://github.com/bastelfreak)) +- migrate to voxpupuli-rubocop [\#154](https://github.com/voxpupuli/rspec-puppet-facts/pull/154) ([bastelfreak](https://github.com/bastelfreak)) +- Update rubocop requirement from ~\> 1.48.1 to ~\> 1.54.1 [\#153](https://github.com/voxpupuli/rspec-puppet-facts/pull/153) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Introduce RuboCop and fix various cops [\#146](https://github.com/voxpupuli/rspec-puppet-facts/pull/146) ([ekohl](https://github.com/ekohl)) +- Update puppet agent components [\#145](https://github.com/voxpupuli/rspec-puppet-facts/pull/145) ([bastelfreak](https://github.com/bastelfreak)) + ## [2.0.5](https://github.com/voxpupuli/rspec-puppet-facts/tree/2.0.5) (2022-04-22) [Full Changelog](https://github.com/voxpupuli/rspec-puppet-facts/compare/2.0.4...2.0.5) diff --git a/README.md b/README.md index fdfa1b5..1acd394 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ rspec-puppet-facts [![Donated by Camptocamp](https://img.shields.io/badge/donated%20by-camptocamp-fb7047.svg)](#transfer-notice) Based on an original idea from [apenney](https://github.com/apenney/puppet_facts/), -this gem provides a method of running your [rspec-puppet](https://github.com/rodjek/rspec-puppet) +this gem provides a method of running your [rspec-puppet](https://github.com/puppetlabs/rspec-puppet) tests against the facts for all your supported operating systems (provided by [facterdb](https://github.com/voxpupuli/facterdb)). This simplifies unit testing because you don't need to specify the facts yourself. @@ -532,7 +532,7 @@ ENV['FACTERDB_SEARCH_PATHS'] = custom_facts ``` ## Running your tests -For most cases, there is no change to how you run your tests. Running `rake spec` will run all the tests against the facts for all the supported operating systems. If you are developing a module using the [Puppet Development Kit](https://puppet.com/docs/pdk/1.x/pdk_install.html), `pdk test unit` will run all your tests against the supported operating systems listed in `metadata.json`. +For most cases, there is no change to how you run your tests. Running `rake spec` will run all the tests against the facts for all the supported operating systems. If you are developing a module using the [Puppet Development Kit](https://puppet.com/docs/pdk/3.x/pdk_install.html), `pdk test unit` will run all your tests against the supported operating systems listed in `metadata.json`. If you want to run the tests against the facts for specific operating systems, you can provide a filter in the `SPEC_FACTS_OS` environment variable and only the supported operating systems whose name starts with the specified filter will be used. diff --git a/Rakefile b/Rakefile index 1bfa46f..25611ac 100644 --- a/Rakefile +++ b/Rakefile @@ -54,7 +54,7 @@ rescue LoadError else require 'rubygems' GitHubChangelogGenerator::RakeTask.new :changelog do |config| - config.exclude_labels = %w{duplicate question invalid wontfix wont-fix skip-changelog} + config.exclude_labels = %w{duplicate question invalid wontfix wont-fix skip-changelog github_actions} config.user = 'voxpupuli' config.project = 'rspec-puppet-facts' gem_version = Gem::Specification.load("#{config.project}.gemspec").version @@ -63,16 +63,7 @@ else end begin - require 'rubocop/rake_task' + require 'voxpupuli/rubocop/rake' rescue LoadError - # RuboCop is an optional group -else - RuboCop::RakeTask.new(:rubocop) do |task| - # These make the rubocop experience maybe slightly less terrible - task.options = ['--display-cop-names', '--display-style-guide', '--extra-details'] - # Use Rubocop's Github Actions formatter if possible - if ENV['GITHUB_ACTIONS'] == 'true' - task.formatters << 'github' - end - end + # the voxpupuli-rubocop gem is optional end diff --git a/lib/rspec-puppet-facts/version.rb b/lib/rspec-puppet-facts/version.rb index 86cc898..d0dbf1e 100644 --- a/lib/rspec-puppet-facts/version.rb +++ b/lib/rspec-puppet-facts/version.rb @@ -2,6 +2,6 @@ module RspecPuppetFacts # This module contains the current version constant module Version # The current version of this gem - STRING = '2.0.5' + STRING = '3.0.0' end end