2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: "Publish module"

on:
workflow_dispatch:

jobs:
release:
uses: "puppetlabs/cat-github-actions/.github/workflows/module_release.yml@main"
Expand Down
8 changes: 2 additions & 6 deletions .github/workflows/task_acceptance_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
name: On ${{ matrix.os }}
strategy:
matrix:
os: [ 'centos-7', 'ubuntu-20.04', 'rocky-8' ]
os: [ 'ubuntu-20.04', 'rocky-8' ]

env:
ruby_version: '3.1'
Expand All @@ -35,11 +35,7 @@ jobs:
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.ruby_version }}

- name: Prepare testing environment with bundler
run: |
git config --global core.longpaths true
bundle update --jobs 4 --retry 3
bundler-cache: true

- name: Run task acceptance tests
run: |
Expand Down
9 changes: 7 additions & 2 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ require:
- rubocop-performance
- rubocop-rspec
AllCops:
NewCops: enable
DisplayCopNames: true
TargetRubyVersion: '2.6'
Include:
Expand Down Expand Up @@ -37,8 +38,6 @@ Style/BlockDelimiters:
be consistent then.
EnforcedStyle: braces_for_chaining
Style/ClassAndModuleChildren:
Description: Compact style reduces the required amount of indentation.
EnforcedStyle: compact
Enabled: false
Style/EmptyElse:
Description: Enforce against empty else clauses, but allow `nil` for clarity.
Expand Down Expand Up @@ -532,6 +531,8 @@ Lint/DuplicateBranch:
Enabled: false
Lint/DuplicateMagicComment:
Enabled: false
Lint/DuplicateMatchPattern:
Enabled: false
Lint/DuplicateRegexpCharacterClassElement:
Enabled: false
Lint/EmptyBlock:
Expand Down Expand Up @@ -648,6 +649,8 @@ Style/ComparableClamp:
Enabled: false
Style/ConcatArrayLiterals:
Enabled: false
Style/DataInheritance:
Enabled: false
Style/DirEmpty:
Enabled: false
Style/DocumentDynamicEvalDefinition:
Expand Down Expand Up @@ -716,6 +719,8 @@ Style/RedundantHeredocDelimiterQuotes:
Enabled: false
Style/RedundantInitialize:
Enabled: false
Style/RedundantLineContinuation:
Enabled: false
Style/RedundantSelfAssignmentBranch:
Enabled: false
Style/RedundantStringEscape:
Expand Down
8 changes: 3 additions & 5 deletions .sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,19 @@ Gemfile:
optional:
":development":
- gem: beaker
version: '~> 5.0'
version: '~> 6.0'
from_env: BEAKER_VERSION
- gem: beaker-abs
from_env: BEAKER_ABS_VERSION
version: '~> 1.0'
- gem: beaker-docker
version: '~> 0.3'
- gem: beaker-hostgenerator
from_env: BEAKER_HOSTGENERATOR_VERSION
- gem: beaker-rspec
from_env: BEAKER_RSPEC_VERSION
# Prevent beaker-puppet from being installed on Ruby > 3.1 until beaker-puppet supports newer Rubies (PA-6136)
- gem: beaker-puppet
from_env: BEAKER_PUPPET_VERSION
version: '~> 3.0'
version: '~> 4.0'
condition: Gem::Requirement.create('< 3.2.0').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
- gem: beaker-module_install_helper
- gem: beaker-puppet_install_helper
Expand All @@ -42,7 +40,7 @@ Gemfile:
version: '~> 1.30' # otherwise async 2.0.0(needs ruby >=3.1.0) is wrongly selected by bundler on jenkins while running with ruby 2.7.1
":system_tests":
- gem: voxpupuli-acceptance
version: '~> 1.0'
version: '~> 3'

appveyor.yml:
delete: true
Expand Down
2 changes: 1 addition & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"recommendations": [
"puppet.puppet-vscode",
"rebornix.Ruby"
"Shopify.ruby-lsp"
]
}
24 changes: 19 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,21 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org).

## [v4.20.1](https://github.com/puppetlabs/puppetlabs-puppet_agent/tree/v4.20.1) - 2024-05-29
## [v4.21.0](https://github.com/puppetlabs/puppetlabs-puppet_agent/tree/v4.21.0) - 2024-09-25

[Full Changelog](https://github.com/puppetlabs/puppetlabs-puppet_agent/compare/v4.20.1...v4.21.0)

### Added

- (PA-6416) Support installing puppet-agent on Ubuntu 24.04 amd64/aarch64 [#723](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/723) ([shubhamshinde360](https://github.com/shubhamshinde360))
- (MODULES-9695) Debian: use modern APT keyring format [#681](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/681) ([kenyon](https://github.com/kenyon))

### Fixed

- (PA-6677) Restore AL2 x86_64 install task and manifest [#724](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/724) ([joshcooper](https://github.com/joshcooper))
- (PA-6277) change manifests for amazon 2 repo [#722](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/722) ([imaqsood](https://github.com/imaqsood))

## [v4.20.1](https://github.com/puppetlabs/puppetlabs-puppet_agent/tree/v4.20.1) - 2024-06-03

[Full Changelog](https://github.com/puppetlabs/puppetlabs-puppet_agent/compare/v4.20.0...v4.20.1)

Expand Down Expand Up @@ -423,7 +437,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a

- (maint) Release prep for 2.2.1 [#446](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/446) ([Dorin-Pleava](https://github.com/Dorin-Pleava))
- (maint) Make the puppet_agent task available as a plugin [#445](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/445) ([adreyer](https://github.com/adreyer))
- (MODULES-9981) Add Amazon Linux 2 support [#444](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/444) ([alexharv074](https://github.com/alexharv074))
- (MODULES-9981) Add Amazon Linux 2 support [#444](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/444) ([alex-harvey-z3q](https://github.com/alex-harvey-z3q))
- (maint) fix failing tests due to rspec changes [#443](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/443) ([gimmyxd](https://github.com/gimmyxd))
- (maint) Add task to check commit messages [#442](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/442) ([gimmyxd](https://github.com/gimmyxd))
- (maint) Add bolt team as codeowners for task content [#440](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/440) ([donoghuc](https://github.com/donoghuc))
Expand All @@ -442,15 +456,15 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a

### Other

- (maint) Release prep for 2.2.0 [#429](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/429) ([loopinu](https://github.com/loopinu))
- (maint) Release prep for 2.2.0 [#429](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/429) ([alexandru-d-popa](https://github.com/alexandru-d-popa))
- (MODULES-7760) relax agent versions on redhat [#426](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/426) ([gimmyxd](https://github.com/gimmyxd))
- (MODULES-9575) fix solaris 10 tests [#425](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/425) ([gimmyxd](https://github.com/gimmyxd))
- (PE-26530) Update spec and task acceptance tests with Fedora 30 [#424](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/424) ([GabrielNagy](https://github.com/GabrielNagy))
- (PE-26530) Update metadata to add Fedora 30 [#423](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/423) ([GabrielNagy](https://github.com/GabrielNagy))
- (maint) Add CODEOWNERS [#422](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/422) ([mihaibuzgau](https://github.com/mihaibuzgau))
- (MODULES-9444) Migrate puppet_agent module to Beaker 4 [#421](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/421) ([oanatmaria](https://github.com/oanatmaria))
- (maint) Allow stdlib 6.x [#418](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/418) ([rnelson0](https://github.com/rnelson0))
- (MODULES-9173) Mcollective service restarting when PA upgrade is done. [#417](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/417) ([loopinu](https://github.com/loopinu))
- (MODULES-9173) Mcollective service restarting when PA upgrade is done. [#417](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/417) ([alexandru-d-popa](https://github.com/alexandru-d-popa))
- (MODULES-8923) puppet_agent : could autodetect package_version based … [#416](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/416) ([oanatmaria](https://github.com/oanatmaria))
- (maint) Use newer puppet versions for class_spec [#413](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/413) ([oanatmaria](https://github.com/oanatmaria))
- (maint) Fix tests on SLES [#412](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/412) ([oanatmaria](https://github.com/oanatmaria))
Expand Down Expand Up @@ -505,7 +519,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
- (FM-7732) Download puppet-agent packages over https [#382](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/382) ([donoghuc](https://github.com/donoghuc))
- (MODULES-5535) Update test matrix to work with MacOS/Solaris/Windows [#381](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/381) ([mcdonaldseanp](https://github.com/mcdonaldseanp))
- (MODULES-8320) Remove old platforms [#380](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/380) ([ekinanp](https://github.com/ekinanp))
- (PE-25542) add RHEL8 to puppet agent module [#379](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/379) ([loopinu](https://github.com/loopinu))
- (PE-25542) add RHEL8 to puppet agent module [#379](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/379) ([alexandru-d-popa](https://github.com/alexandru-d-popa))
- (MODULES-4730) Do not pass the agent environment during MSI installs [#378](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/378) ([ScottGarman](https://github.com/ScottGarman))
- (maint) Update minimum acceptance beaker-puppet version [#377](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/377) ([caseywilliams](https://github.com/caseywilliams))
- (MODULES-8348) Refactor the acceptance test scaffold [#376](https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/376) ([ekinanp](https://github.com/ekinanp))
Expand Down
32 changes: 15 additions & 17 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,43 +20,41 @@ group :development do
gem "json", '= 2.6.1', require: false if Gem::Requirement.create(['>= 3.1.0', '< 3.1.3']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "json", '= 2.6.3', require: false if Gem::Requirement.create(['>= 3.2.0', '< 4.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "racc", '~> 1.4.0', require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "deep_merge", '~> 1.0', require: false
gem "voxpupuli-puppet-lint-plugins", '~> 5.0', require: false
gem "facterdb", '~> 1.18', require: false
gem "metadata-json-lint", '~> 3.0', require: false
gem "puppetlabs_spec_helper", '~> 6.0', require: false
gem "rspec-puppet-facts", '~> 2.0', require: false
gem "codecov", '~> 0.2', require: false
gem "metadata-json-lint", '~> 4.0', require: false
gem "rspec-puppet-facts", '~> 3.0', require: false
gem "dependency_checker", '~> 1.0.0', require: false
gem "parallel_tests", '= 3.12.1', require: false
gem "pry", '~> 0.10', require: false
gem "simplecov-console", '~> 0.5', require: false
gem "simplecov-console", '~> 0.9', require: false
gem "puppet-debugger", '~> 1.0', require: false
gem "rubocop", '= 1.48.1', require: false
gem "rubocop", '~> 1.50.0', require: false
gem "rubocop-performance", '= 1.16.0', require: false
gem "rubocop-rspec", '= 2.19.0', require: false
gem "puppet-strings", '~> 4.0', require: false
gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 5.0')
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 6.0')
gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || '~> 1.0')
gem "beaker-docker", '~> 0.3', require: false
gem "beaker-hostgenerator"
gem "beaker-rspec"
gem "beaker-puppet", *location_for(ENV['BEAKER_PUPPET_VERSION'] || '~> 3.0') if Gem::Requirement.create('< 3.2.0').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "beaker-puppet", *location_for(ENV['BEAKER_PUPPET_VERSION'] || '~> 4.0') if Gem::Requirement.create('< 3.2.0').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "beaker-module_install_helper", require: false
gem "beaker-puppet_install_helper", require: false
gem "nokogiri", require: false
gem "bolt", '~> 3.0', require: false if ENV["GEM_BOLT"]
gem "beaker-task_helper", '~> 1.9', require: false if ENV["GEM_BOLT"]
gem "async", '~> 1.30', require: false
end
group :system_tests do
gem "puppet_litmus", '~> 1.0', require: false, platforms: [:ruby, :x64_mingw]
gem "serverspec", '~> 2.41', require: false
gem "voxpupuli-acceptance", '~> 1.0', require: false
end
group :release_prep do
group :development, :release_prep do
gem "puppet-strings", '~> 4.0', require: false
gem "puppetlabs_spec_helper", '~> 6.0', require: false
gem "puppetlabs_spec_helper", '~> 7.0', require: false
end
group :system_tests do
gem "puppet_litmus", '~> 1.0', require: false, platforms: [:ruby, :x64_mingw]
gem "CFPropertyList", '< 3.0.7', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "serverspec", '~> 2.41', require: false
gem "voxpupuli-acceptance", '~> 3', require: false
end

puppet_version = ENV['PUPPET_GEM_VERSION']
Expand Down
79 changes: 0 additions & 79 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,87 +4,8 @@ require 'bundler'
require 'puppet_litmus/rake_tasks' if Gem.loaded_specs.key? 'puppet_litmus'
require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-syntax/tasks/puppet-syntax'
require 'github_changelog_generator/task' if Gem.loaded_specs.key? 'github_changelog_generator'
require 'puppet-strings/tasks' if Gem.loaded_specs.key? 'puppet-strings'
require 'voxpupuli/acceptance/rake' if Gem.loaded_specs.key? 'voxpupuli-acceptance'

def changelog_user
return unless Rake.application.top_level_tasks.include? "changelog"
returnVal = nil || JSON.load(File.read('metadata.json'))['author']
raise "unable to find the changelog_user in .sync.yml, or the author in metadata.json" if returnVal.nil?
puts "GitHubChangelogGenerator user:#{returnVal}"
returnVal
end

def changelog_project
return unless Rake.application.top_level_tasks.include? "changelog"

returnVal = nil
returnVal ||= begin
metadata_source = JSON.load(File.read('metadata.json'))['source']
metadata_source_match = metadata_source && metadata_source.match(%r{.*\/([^\/]*?)(?:\.git)?\Z})

metadata_source_match && metadata_source_match[1]
end

raise "unable to find the changelog_project in .sync.yml or calculate it from the source in metadata.json" if returnVal.nil?

puts "GitHubChangelogGenerator project:#{returnVal}"
returnVal
end

def changelog_future_release
return unless Rake.application.top_level_tasks.include? "changelog"
returnVal = "v%s" % JSON.load(File.read('metadata.json'))['version']
raise "unable to find the future_release (version) in metadata.json" if returnVal.nil?
puts "GitHubChangelogGenerator future_release:#{returnVal}"
returnVal
end

PuppetLint.configuration.send('disable_relative')
PuppetLint.configuration.send('disable_puppet_url_without_modules')


if Gem.loaded_specs.key? 'github_changelog_generator'
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
raise "Set CHANGELOG_GITHUB_TOKEN environment variable eg 'export CHANGELOG_GITHUB_TOKEN=valid_token_here'" if Rake.application.top_level_tasks.include? "changelog" and ENV['CHANGELOG_GITHUB_TOKEN'].nil?
config.user = "#{changelog_user}"
config.project = "#{changelog_project}"
config.future_release = "#{changelog_future_release}"
config.exclude_labels = ['maintenance']
config.header = "# Change log\n\nAll notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org)."
config.add_pr_wo_labels = true
config.issues = false
config.merge_prefix = "### UNCATEGORIZED PRS; LABEL THEM ON GITHUB"
config.configure_sections = {
"Changed" => {
"prefix" => "### Changed",
"labels" => ["backwards-incompatible"],
},
"Added" => {
"prefix" => "### Added",
"labels" => ["enhancement", "feature"],
},
"Fixed" => {
"prefix" => "### Fixed",
"labels" => ["bug", "documentation", "bugfix"],
},
}
end
else
desc 'Generate a Changelog from GitHub'
task :changelog do
raise <<EOM
The changelog tasks depends on recent features of the github_changelog_generator gem.
Please manually add it to your .sync.yml for now, and run `pdk update`:
---
Gemfile:
optional:
':development':
- gem: 'github_changelog_generator'
version: '~> 1.15'
condition: "Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.3.0')"
EOM
end
end

4 changes: 2 additions & 2 deletions acceptance/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ end

gem "rake", "~> 12.3"

gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 5')
gem "beaker-puppet", *location_for(ENV['BEAKER_PUPPET_VERSION'] || '~> 3')
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 6')
gem "beaker-puppet", *location_for(ENV['BEAKER_PUPPET_VERSION'] || '~> 4')

gem "beaker-docker", *location_for(ENV['BEAKER_DOCKER_VERSION'] || '~> 0')
gem "beaker-vagrant", *location_for(ENV['BEAKER_VAGRANT_VERSION'] || '~> 0')
Expand Down
Loading