Skip to content

Releases: UCSD-ANF/puppet-intermapper

Release 1.2.0: PDK 3.4.0 Modernization and 100% Test Coverage

07 Jul 22:49
Compare
Choose a tag to compare

🚀 Major Improvements

PDK 3.4.0 Modernization

  • Puppet Support: 6.21.0 - 8.x (upgraded from 4.10.0 - 7.x)
  • stdlib Dependency: 6.0.0 - 9.x (upgraded from 3.2.0 - 7.x)
  • PDK: 3.4.0 with current templates and best practices
  • New OS Support: Added Rocky Linux and AlmaLinux

100% Test Coverage Achievement

  • Before: 36.67% (22/60 resources)
  • After: 100.00% (59/59 resources) ✅
  • Test Examples: Increased from 227 to 394
  • All Tests Passing: 0 failures ✅

Modern Development Stack

  • rspec-puppet: 4.x with modern testing patterns
  • rubocop: 1.50+ with performance and rspec extensions
  • GitHub Actions: Complete CI/CD pipeline replacing Travis CI
  • SimpleCov: Comprehensive code coverage reporting

🛠 Technical Improvements

Code Modernization

  • Data Types: Replaced validate_bool() with Boolean type
  • Facts: Updated from $::osfamily to $facts['os']['family']
  • Style: Fixed all puppet-lint violations
  • Testing: Updated all specs to modern facts structure

Development Tooling

  • Updated 11 configuration files with PDK 3.4.0 templates
  • Modernized Gemfile, Rakefile, .rubocop.yml
  • Enhanced spec_helper.rb with current best practices
  • Fixed template renderer compatibility issues

⚠️ Breaking Changes

Minimum requirements updated:

  • Puppet: 6.21.0+ (was 4.10.0+)
  • Ruby: 2.7+ (was 2.1+)
  • stdlib: 6.0.0+ (was 3.2.0+)

Quality Assurance

  • All tests passing: 394/394 examples ✅
  • Clean validation: PDK validate passes ✅
  • Coverage: 100% resource coverage ✅
  • Backward compatibility: API unchanged ✅
  • CI/CD ready: GitHub Actions pipeline ✅

📁 Files Changed

  • Core Config: metadata.json, Gemfile, Rakefile
  • Manifests: Code style and modernization updates
  • Testing: Comprehensive test suite additions
  • CI/CD: .github/workflows/ci.yml added
  • Tooling: All development configuration modernized

This release ensures the module is ready for current and future Puppet environments while maintaining full functionality and achieving industry-standard test coverage.