puppet_metadata 1.3.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1812a9565d5558aea69c47b403fd31788417b995ad8c4ef5349ddee10d18529c
4
- data.tar.gz: 54dda6a4915469ce27d0d2b9a1c43fbcee5cfdc2314dfc3fa8358afca9d303da
3
+ metadata.gz: a0aff2535944de382ab5adfa1a57a84fab5baae9e2992368b9eded89224c7a47
4
+ data.tar.gz: bb47a9cc7523ddb152d272413b9ea34d4383aa973a9ea20f34f62f77ac2ac78e
5
5
  SHA512:
6
- metadata.gz: 49675f7c180f2300e05c3018cb6d0c9f064d74b5f95fee222d73e7f83c385a8b4a839779462163a11022f9c700d115839c1d79d239a0f5988a1cbf5c3dea344d
7
- data.tar.gz: be883a1b3af62b048436c263afd6dc4a0963fc5345d9a8e69f63af96e52f84670c5ec1d63ef212a371ed2044f62e21f2c5a49e9016f0c1c108083a12efbd7a7e
6
+ metadata.gz: eda06d30d5d6b81014c029540e3218dfe45dd9accf87baf8dd00bf86eb4f4988eb567191e8081fc1f9add553f5b4a14ef4456e0e9c0d7a06cbbc1d2a5981baa3
7
+ data.tar.gz: d9a0d73a76400eff536c5b2bfc86fb1e2d2d447aa46238cf18b9874c11cb11c28a98ecd5a5dca7e1606cf9bcfa9df5d91b566521db16aed09485646872150524
@@ -46,6 +46,7 @@ module PuppetMetadata
46
46
  '16.04' => 5..7,
47
47
  '18.04' => 5..7,
48
48
  '20.04' => 6..7,
49
+ '22.04' => [], # https://tickets.puppetlabs.com/browse/PA-4233
49
50
  },
50
51
  }.freeze
51
52
 
@@ -65,7 +65,7 @@ module PuppetMetadata
65
65
  # Return whether a Beaker setfile can be generated for the given OS
66
66
  # @param [String] os The operating system
67
67
  def os_supported?(os)
68
- ['CentOS', 'Fedora', 'Debian', 'Ubuntu'].include?(os)
68
+ ['Archlinux', 'CentOS', 'Fedora', 'Debian', 'Ubuntu'].include?(os)
69
69
  end
70
70
 
71
71
  private
@@ -52,25 +52,42 @@ module PuppetMetadata
52
52
  end.compact
53
53
  end
54
54
 
55
- def github_action_test_matrix(use_fqdn: false, pidfile_workaround: false)
56
- metadata.operatingsystems.each_with_object([]) do |(os, releases), matrix_include|
57
- releases&.each do |release|
58
- puppet_major_versions.each do |puppet_version|
59
- next unless AIO.has_aio_build?(os, release, puppet_version[:value])
60
-
61
- setfile = PuppetMetadata::Beaker.os_release_to_setfile(os, release, use_fqdn: use_fqdn, pidfile_workaround: pidfile_workaround)
62
- next unless setfile
55
+ def beaker_os_releases
56
+ majors = puppet_major_versions
63
57
 
64
- matrix_include << {
65
- setfile: {
66
- name: setfile[1],
67
- value: setfile[0],
68
- },
69
- puppet: puppet_version
70
- }
58
+ metadata.operatingsystems.each do |os, releases|
59
+ case os
60
+ when 'Archlinux', 'Gentoo'
61
+ yield [os, 'rolling', majors.max_by { |v| v[:value] }]
62
+ else
63
+ releases&.each do |release|
64
+ majors.each do |puppet_version|
65
+ if AIO.has_aio_build?(os, release, puppet_version[:value])
66
+ yield [os, release, puppet_version]
67
+ end
68
+ end
71
69
  end
72
70
  end
73
71
  end
74
72
  end
73
+
74
+ def github_action_test_matrix(use_fqdn: false, pidfile_workaround: false)
75
+ matrix_include = []
76
+
77
+ beaker_os_releases do |os, release, puppet_version|
78
+ setfile = PuppetMetadata::Beaker.os_release_to_setfile(os, release, use_fqdn: use_fqdn, pidfile_workaround: pidfile_workaround)
79
+ next unless setfile
80
+
81
+ matrix_include << {
82
+ setfile: {
83
+ name: setfile[1],
84
+ value: setfile[0],
85
+ },
86
+ puppet: puppet_version
87
+ }
88
+ end
89
+
90
+ matrix_include
91
+ end
75
92
  end
76
93
  end
@@ -71,6 +71,19 @@ module PuppetMetadata
71
71
  '2' => '2005-04-11',
72
72
  '1' => '2004-09-20',
73
73
  },
74
+ # https://endoflife.software/operating-systems/unix-like-bsd/freebsd
75
+ 'FreeBSD' => {
76
+ '13' => nil,
77
+ '12' => nil,
78
+ '11' => '2021-09-30',
79
+ '10' => '2018-10-31',
80
+ '9' => '2016-12-31',
81
+ '8' => '2015-08-01',
82
+ '7' => '2013-02-28',
83
+ '6' => '2010-11-30',
84
+ '5' => '2008-05-31',
85
+ '4' => '2007-01-31',
86
+ },
74
87
  # https://endoflife.software/operating-systems/linux/red-hat-enterprise-linux-rhel
75
88
  'RedHat' => {
76
89
  # TODO: EOL is standard support, not the extended life cycle
@@ -83,6 +96,9 @@ module PuppetMetadata
83
96
  },
84
97
  # https://endoflife.software/operating-systems/linux/ubuntu
85
98
  'Ubuntu' => {
99
+ '22.04' => '2027-04-15',
100
+ '21.10' => '2022-07-15',
101
+ '20.10' => '2021-07-15',
86
102
  '20.04' => '2025-04-15',
87
103
  '19.10' => '2020-07-15',
88
104
  '19.04' => '2020-01-15',
@@ -158,6 +174,15 @@ module PuppetMetadata
158
174
  releases = EOL_DATES[operatingsystem]
159
175
  releases&.keys&.max_by { |release| Gem::Version.new(release) }
160
176
  end
177
+
178
+ # Return an array of all Operating System versions that aren't EoL
179
+ # @param String operatingsystem The operating system
180
+ # @return [Array] All Operating System versions that aren't EoL today
181
+ def supported_releases(operatingsystem)
182
+ releases = EOL_DATES[operatingsystem]
183
+ today = Date.today
184
+ releases.compact.select {|release, eol_date| Date.parse(eol_date) > today}.keys.sort
185
+ end
161
186
  end
162
187
  end
163
188
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet_metadata
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vox Pupuli
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-02-07 00:00:00.000000000 Z
12
+ date: 2022-06-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: metadata-json-lint
@@ -153,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
153
  - !ruby/object:Gem::Version
154
154
  version: '0'
155
155
  requirements: []
156
- rubygems_version: 3.2.32
156
+ rubygems_version: 3.2.33
157
157
  signing_key:
158
158
  specification_version: 4
159
159
  summary: Data structures for the Puppet Metadata