puppet_metadata 1.3.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
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