Skip to content

Commit

Permalink
Use the none collection on some distros
Browse files Browse the repository at this point in the history
voxpupuli-acceptance 2.1.0 has added support for the "none" collection
which typically implies the distro package is used. This starts using
that for Archlinux and Gentoo. It means we no longer know which version
of Puppet is used, but that's technically correct. It just mentions the
distro Puppet.
  • Loading branch information
ekohl committed Jul 4, 2023
1 parent 2f40660 commit 3a8f14b
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 3 deletions.
2 changes: 1 addition & 1 deletion lib/puppet_metadata/beaker.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def os_release_to_setfile(os, release, use_fqdn: false, pidfile_workaround: fals
return unless os_supported?(os)

name = "#{os.downcase}#{release.tr('.', '')}-64"
hostname = puppet_version != nil ? "#{name}-#{puppet_version}" : name
hostname = (puppet_version != nil && puppet_version != 'none') ? "#{name}-#{puppet_version}" : name
domain ||= 'example.com' if use_fqdn

options = {}
Expand Down
10 changes: 8 additions & 2 deletions lib/puppet_metadata/github_actions.rb
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,16 @@ def puppet_unit_test_matrix
def beaker_os_releases
majors = puppet_major_versions

distro_puppet_version = {
name: "Distro Puppet",
value: nil, # We don't know the version and since it's rolling, it can be anything
collection: 'none',
}

metadata.operatingsystems.each do |os, releases|
case os
when 'Archlinux', 'Gentoo'
yield [os, 'rolling', majors.max_by { |v| v[:value] }]
yield [os, 'rolling', distro_puppet_version]
else
releases&.each do |release|
majors.each do |puppet_version|
Expand Down Expand Up @@ -88,7 +94,7 @@ def github_action_test_matrix
end

def puppet_version_below_minimum?(version)
return false unless options[:minimum_major_puppet_version]
return false unless version && options[:minimum_major_puppet_version]

Gem::Version.new(version) < Gem::Version.new(options[:minimum_major_puppet_version])
end
Expand Down
7 changes: 7 additions & 0 deletions spec/github_actions_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@
},
],
operatingsystem_support: [
{
operatingsystem: "Archlinux"
},
{
operatingsystem: 'CentOS',
operatingsystemrelease: ['7', '8', '9'],
Expand Down Expand Up @@ -110,6 +113,7 @@
it { is_expected.to be_an_instance_of(Array) }
it 'is expected to contain supported os / puppet version combinations' do
is_expected.to contain_exactly(
{setfile: {name: "Archlinux rolling", value: "archlinuxrolling-64"}, puppet: {collection: "none", name: "Distro Puppet", value: nil}},
{setfile: {name: "CentOS 7", value: "centos7-64"}, puppet: {collection: "puppet5", name: "Puppet 5", value: 5}},
{setfile: {name: "CentOS 7", value: "centos7-64"}, puppet: {collection: "puppet6", name: "Puppet 6", value: 6}},
{setfile: {name: "CentOS 7", value: "centos7-64"}, puppet: {collection: "puppet7", name: "Puppet 7", value: 7}},
Expand All @@ -136,6 +140,7 @@

it 'is expected to contain supported os / puppet version combinations excluding puppet 5' do
is_expected.to contain_exactly(
{setfile: {name: "Archlinux rolling", value: "archlinuxrolling-64"}, puppet: {collection: "none", name: "Distro Puppet", value: nil}},
{setfile: {name: "CentOS 7", value: "centos7-64"}, puppet: {collection: "puppet6", name: "Puppet 6", value: 6}},
{setfile: {name: "CentOS 7", value: "centos7-64"}, puppet: {collection: "puppet7", name: "Puppet 7", value: 7}},
{setfile: {name: "CentOS 7", value: "centos7-64"}, puppet: {collection: "puppet8", name: "Puppet 8", value: 8}},
Expand All @@ -159,6 +164,7 @@

it 'is expected to contain supported os / puppet version combinations with image option' do
is_expected.to contain_exactly(
{setfile: {name: "Archlinux rolling", value: "archlinuxrolling-64"}, puppet: {collection: "none", name: "Distro Puppet", value: nil}},
{setfile: {name: "CentOS 7", value: "centos7-64{image=centos:7.6.1810}"}, puppet: {name: "Puppet 8", value: 8, collection: "puppet8"}},
{setfile: {name: "CentOS 7", value: "centos7-64{image=centos:7.6.1810}"}, puppet: {name: "Puppet 7", value: 7, collection: "puppet7"}},
{setfile: {name: "CentOS 7", value: "centos7-64{image=centos:7.6.1810}"}, puppet: {name: "Puppet 6", value: 6, collection: "puppet6"}},
Expand All @@ -182,6 +188,7 @@

it 'is expected to contain supported os / puppet version combinations with hostname option' do
is_expected.to contain_exactly(
{setfile: {name: "Archlinux rolling", value: "archlinuxrolling-64{hostname=archlinuxrolling-64.example.com}"}, puppet: {collection: "none", name: "Distro Puppet", value: nil}},
{setfile: {name: "CentOS 7", value: "centos7-64{hostname=centos7-64-puppet8.example.com}"}, puppet: {name: "Puppet 8", value: 8, collection: "puppet8"}},
{setfile: {name: "CentOS 7", value: "centos7-64{hostname=centos7-64-puppet7.example.com}"}, puppet: {name: "Puppet 7", value: 7, collection: "puppet7"}},
{setfile: {name: "CentOS 7", value: "centos7-64{hostname=centos7-64-puppet6.example.com}"}, puppet: {name: "Puppet 6", value: 6, collection: "puppet6"}},
Expand Down

0 comments on commit 3a8f14b

Please sign in to comment.