Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 44 additions & 39 deletions .github/workflows/pr_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,37 +8,24 @@
#
# ==============================================================================
#
# The testing matrix considers ruby/puppet versions supported by SIMP and PE:
# ------------------------------------------------------------------------------
# Release Puppet Ruby EOL
# PE 2019.8 6.22 2.5 2022-12 (LTS)
# PE 2021.Y 7.x 2.7 Quarterly updates
#
# https://puppet.com/docs/pe/latest/component_versions_in_recent_pe_releases.html
# https://puppet.com/misc/puppet-enterprise-lifecycle
# ==============================================================================
#
# https://docs.github.com/en/actions/reference/events-that-trigger-workflows
#

---
name: PR Tests
on:
'on':
pull_request:
types: [opened, reopened, synchronize]

env:
PUPPET_VERSION: '~> 7'

jobs:
puppet-syntax:
name: 'Puppet Syntax'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: "Install Ruby 2.7"
- name: "Install Ruby 3.2"
uses: ruby/setup-ruby@v1 # ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
with:
ruby-version: 2.7.8
ruby-version: 3.2.11
bundler-cache: true
- run: "bundle exec rake syntax"

Expand All @@ -47,10 +34,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: "Install Ruby 2.7"
- name: "Install Ruby 3.2"
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7.8
ruby-version: 3.2.11
bundler-cache: true
- run: "bundle exec rake lint"
- run: "bundle exec rake metadata_lint"
Expand All @@ -61,10 +48,10 @@ jobs:
continue-on-error: true
steps:
- uses: actions/checkout@v6
- name: "Install Ruby 2.7"
- name: "Install Ruby 3.4"
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7.8
ruby-version: 3.4.9
bundler-cache: true
- run: |
bundle show
Expand All @@ -75,10 +62,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: 'Install Ruby 2.7'
- name: 'Install Ruby 3.4'
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7.8
ruby-version: 3.4.9
bundler-cache: true
- run: bundle exec rake check:dot_underscore
- run: bundle exec rake check:test_file
Expand All @@ -88,10 +75,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: 'Install Ruby 2.7'
- name: 'Install Ruby 3.4'
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7.8
ruby-version: 3.4.9
bundler-cache: true
- name: 'Tags and changelogs'
run: |
Expand All @@ -108,10 +95,6 @@ jobs:
strategy:
matrix:
puppet:
- label: 'Puppet 7.x [SIMP 6.6/PE 2021.7]'
puppet_version: '~> 7.0'
ruby_version: '2.7'
experimental: false
- label: 'Puppet 8.x'
puppet_version: '~> 8.0'
ruby_version: '3.2'
Expand All @@ -127,15 +110,37 @@ jobs:
ruby-version: ${{matrix.puppet.ruby_version}}
bundler-cache: true
- run: 'command -v rpm || if command -v apt-get; then sudo apt-get update; sudo apt-get install -y rpm; fi ||:'
- run: 'bundle exec rake spec'
- run: 'bundle exec rake parallel_spec'
continue-on-error: ${{matrix.puppet.experimental}}

# dump_contexts:
# name: 'Examine Context contents'
# runs-on: ubuntu-latest
# steps:
# - name: Dump contexts
# env:
# GITHUB_CONTEXT: ${{ toJson(github) }}
# run: echo "$GITHUB_CONTEXT"
#
acceptance:
runs-on:
- ubuntu-latest
strategy:
matrix:
node:
- almalinux9
- almalinux10
fail-fast: false
steps:
- name: checkout repo
uses: actions/checkout@v6
- name: setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4.9
- name: bundle install
run: |
bundle install
- name: Setup libvirt for Vagrant
run: |
sudo add-apt-repository ppa:evgeni/vagrant
sudo apt-get update
sudo apt-get install -y --no-install-recommends vagrant vagrant-libvirt libvirt-daemon-system libvirt-daemon qemu-system-x86 qemu-utils dnsmasq
sudo chmod 666 /var/run/libvirt/libvirt-sock
- name: beaker
env:
BEAKER_HYPERVISOR: 'vagrant_libvirt'
VAGRANT_DEFAULT_PROVIDER: 'libvirt'
run: |
bundle exec rake beaker:suites[default,${{ matrix.node }}]
8 changes: 8 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
* Mon Jun 08 2026 Steven Pritchard <steven.pritchard@gmail.com> - 1.0.0
- Switch `requirements` from `puppet` to `openvox` (>= 8 < 9)
- Point `issues_url` at GitHub Issues
- Drop end-of-life OS support (CentOS 8, EL7); list EL10 across all supported distros
- Allow newer SIMP module dependencies (see metadata.json diff)
- Sync Gemfile with current puppetsync baseline (adds OpenVox to test gems)
- Drop Puppet 7 / Ruby 2.7 from GitHub Actions; use Ruby 3.2.11 with OpenVox 8 and 3.4.9 elsewhere

* Mon May 22 2023 Mike Riddle <michael.riddle@onyxpoint.com> - 0.1.0
- Initial release
12 changes: 8 additions & 4 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,23 @@ gem_sources.each { |gem_source| source gem_source }
group :syntax do
gem 'metadata-json-lint'
gem 'puppet-lint-trailing_comma-check', require: false
gem 'rubocop', '~> 1.81.0'
gem 'rubocop', '~> 1.86.0'
gem 'rubocop-performance', '~> 1.26.0'
gem 'rubocop-rake', '~> 0.7.0'
gem 'rubocop-rspec', '~> 3.9.0'
end

group :test do
puppet_version = ENV.fetch('PUPPET_VERSION', ['>= 7', '< 9'])
puppet_version = ENV.fetch('PUPPET_VERSION', ['>= 8', '< 9'])
openvox_version = ENV.fetch('OPENVOX_VERSION', puppet_version)
major_puppet_version = Array(puppet_version).first.scan(%r{(\d+)(?:\.|\Z)}).flatten.first.to_i
gem 'hiera-puppet-helper'
gem 'pathspec', '~> 0.2' if Gem::Requirement.create('< 2.6').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
# renovate: datasource=rubygems versioning=ruby
gem('pdk', ENV.fetch('PDK_VERSION', ['>= 2.0', '< 4.0']), require: false) if major_puppet_version > 5
gem 'puppet', puppet_version
# Temporarily include both openvox and puppet gems until the puppet dependency is removed from other gems
['openvox', 'puppet'].each do |gem_name|
gem gem_name, binding.local_variable_get("#{gem_name}_version".to_sym)
end
gem 'puppetlabs_spec_helper', '~> 8.0.0'
gem 'puppet-strings'
gem 'rake'
Expand All @@ -36,6 +39,7 @@ group :test do
gem 'simp-rake-helpers', ENV.fetch('SIMP_RAKE_HELPERS_VERSION', '~> 5.24.0')
# renovate: datasource=rubygems versioning=ruby
gem 'simp-rspec-puppet-facts', ENV.fetch('SIMP_RSPEC_PUPPET_FACTS_VERSION', '~> 4.0.0')
gem 'syslog', require: false
end

group :development do
Expand Down
31 changes: 18 additions & 13 deletions metadata.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "simp-simp_authselect",
"version": "0.1.0",
"version": "1.0.0",
"author": "simp",
"summary": "This module wraps jcpunk/authselect and configures the pam authselect files in a way that is compatible with the simp/pam module.",
"license": "Apache-2.0",
Expand All @@ -14,27 +14,27 @@
"dependencies": [
{
"name": "simp/pam",
"version_requirement": ">= 7.0.0 < 8.0.0"
"version_requirement": ">= 7.0.0 < 10.0.0"
},
{
"name": "simp/compliance_markup",
"version_requirement": ">= 3.8.0 < 4.0.0"
"version_requirement": ">= 3.8.0 < 5.0.0"
},
{
"name": "jcpunk/authselect",
"version_requirement": ">= 1.0.0 < 2.0.0"
},
{
"name": "simp/simp_options",
"version_requirement": ">= 1.0.0 < 2.0.0"
"version_requirement": ">= 1.0.0 < 3.0.0"
},
{
"name": "simp/oddjob",
"version_requirement": ">= 2.0.0 < 3.0.0"
"version_requirement": ">= 2.0.0 < 4.0.0"
},
{
"name": "simp/simplib",
"version_requirement": ">= 3.15.0 < 5.0.0"
"version_requirement": ">= 3.15.0 < 6.0.0"
},
{
"name": "puppetlabs/stdlib",
Expand All @@ -45,42 +45,47 @@
{
"operatingsystem": "CentOS",
"operatingsystemrelease": [
"9"
"9",
"10"
]
},
{
"operatingsystem": "RedHat",
"operatingsystemrelease": [
"8",
"9"
"9",
"10"
]
},
{
"operatingsystem": "OracleLinux",
"operatingsystemrelease": [
"8",
"9"
"9",
"10"
]
},
{
"operatingsystem": "Rocky",
"operatingsystemrelease": [
"8",
"9"
"9",
"10"
]
},
{
"operatingsystem": "AlmaLinux",
"operatingsystemrelease": [
"8",
"9"
"9",
"10"
]
}
],
"requirements": [
{
"name": "puppet",
"version_requirement": ">= 7.0.0 < 9.0.0"
"name": "openvox",
"version_requirement": ">= 8.0.0 < 9.0.0"
}
]
}
19 changes: 19 additions & 0 deletions spec/acceptance/nodesets/almalinux10.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
HOSTS:
almalinux10:
roles:
- default
- master
- server
- el10
platform: el-10-x86_64
box: almalinux/10
hypervisor: "<%= ENV.fetch('BEAKER_HYPERVISOR', 'vagrant') %>"
vagrant_memsize: 2048
vagrant_cpus: 2
family: almalinux-cloud/almalinux-10
gce_machine_type: n1-standard-2
CONFIG:
log_level: verbose
type: aio
puppet_collection: "<%= ENV.fetch('BEAKER_PUPPET_COLLECTION', 'openvox8') %>"
19 changes: 19 additions & 0 deletions spec/acceptance/nodesets/almalinux8.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
HOSTS:
almalinux8:
roles:
- default
- master
- server
- el8
platform: el-8-x86_64
box: almalinux/8
hypervisor: "<%= ENV.fetch('BEAKER_HYPERVISOR', 'vagrant') %>"
vagrant_memsize: 2048
vagrant_cpus: 2
family: almalinux-cloud/almalinux-8
gce_machine_type: n1-standard-2
CONFIG:
log_level: verbose
type: aio
puppet_collection: "<%= ENV.fetch('BEAKER_PUPPET_COLLECTION', 'openvox8') %>"
19 changes: 19 additions & 0 deletions spec/acceptance/nodesets/almalinux9.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
HOSTS:
almalinux9:
roles:
- default
- master
- server
- el9
platform: el-9-x86_64
box: almalinux/9
hypervisor: "<%= ENV.fetch('BEAKER_HYPERVISOR', 'vagrant') %>"
vagrant_memsize: 2048
vagrant_cpus: 2
family: almalinux-cloud/almalinux-9
gce_machine_type: n1-standard-2
CONFIG:
log_level: verbose
type: aio
puppet_collection: "<%= ENV.fetch('BEAKER_PUPPET_COLLECTION', 'openvox8') %>"
19 changes: 19 additions & 0 deletions spec/acceptance/nodesets/centos10.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
HOSTS:
centos10:
roles:
- default
- master
- server
- el10
platform: el-10-x86_64
box: generic/centos10s
hypervisor: "<%= ENV.fetch('BEAKER_HYPERVISOR', 'vagrant') %>"
vagrant_memsize: 2048
vagrant_cpus: 2
family: centos-cloud/centos-stream-10
gce_machine_type: n1-standard-2
CONFIG:
log_level: verbose
type: aio
puppet_collection: "<%= ENV.fetch('BEAKER_PUPPET_COLLECTION', 'openvox8') %>"
19 changes: 19 additions & 0 deletions spec/acceptance/nodesets/centos9.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
HOSTS:
centos9:
roles:
- default
- master
- server
- el9
platform: el-9-x86_64
box: generic/centos9s
hypervisor: "<%= ENV.fetch('BEAKER_HYPERVISOR', 'vagrant') %>"
vagrant_memsize: 2048
vagrant_cpus: 2
family: centos-cloud/centos-stream-9
gce_machine_type: n1-standard-2
CONFIG:
log_level: verbose
type: aio
puppet_collection: "<%= ENV.fetch('BEAKER_PUPPET_COLLECTION', 'openvox8') %>"
Loading
Loading