rspec-puppet-facts 5.0.0 → 5.4.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 +4 -4
- data/.github/release.yml +41 -0
- data/.github/workflows/release.yml +80 -16
- data/.github/workflows/test.yml +16 -16
- data/.rubocop_todo.yml +5 -46
- data/CHANGELOG.md +57 -1
- data/Gemfile +11 -4
- data/README.md +1 -1
- data/Rakefile +13 -3
- data/ext/puppet_agent_facter_versions.json +133 -0
- data/lib/rspec-puppet-facts/version.rb +3 -1
- data/lib/rspec-puppet-facts.rb +27 -17
- data/rspec-puppet-facts.gemspec +4 -5
- data/spec/rspec_puppet_facts_spec.rb +15 -17
- data/spec/spec_helper.rb +1 -23
- metadata +7 -29
- data/ext/puppet_agent_components.json +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 07be2b36fe6262cd91cba650af62eefecd8bfa35c04cce3717b4f31607d645d8
|
|
4
|
+
data.tar.gz: 5dea6313fdb2bd2ce0f6912e82a0cb48167d9fd7095b829b4af1ae9e3dfc89c9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5c786dd866dadbf503eaa4cf71a733ade1ebbe42c374652643fa016eb81aebdf3d4fc69cf8fa68bf3116d10597f0b7280c23a048e89440a9e7fcb7a923337c6c
|
|
7
|
+
data.tar.gz: 46db9b91fe86a560469501f866188c5a663d9af04a1b8925d91b798c4a7bfdf73c6dee618ecc8e869d7003e4cdc2b86d2f119c5428f164e38b9a66d7f0c3ccc0
|
data/.github/release.yml
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
# https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes
|
|
3
|
+
|
|
4
|
+
changelog:
|
|
5
|
+
exclude:
|
|
6
|
+
labels:
|
|
7
|
+
- duplicate
|
|
8
|
+
- invalid
|
|
9
|
+
- modulesync
|
|
10
|
+
- question
|
|
11
|
+
- skip-changelog
|
|
12
|
+
- wont-fix
|
|
13
|
+
- wontfix
|
|
14
|
+
- github_actions
|
|
15
|
+
|
|
16
|
+
categories:
|
|
17
|
+
- title: Breaking Changes 🛠
|
|
18
|
+
labels:
|
|
19
|
+
- backwards-incompatible
|
|
20
|
+
|
|
21
|
+
- title: New Features 🎉
|
|
22
|
+
labels:
|
|
23
|
+
- enhancement
|
|
24
|
+
|
|
25
|
+
- title: Bug Fixes 🐛
|
|
26
|
+
labels:
|
|
27
|
+
- bug
|
|
28
|
+
- bugfix
|
|
29
|
+
|
|
30
|
+
- title: Documentation Updates 📚
|
|
31
|
+
labels:
|
|
32
|
+
- documentation
|
|
33
|
+
- docs
|
|
34
|
+
|
|
35
|
+
- title: Dependency Updates ⬆️
|
|
36
|
+
labels:
|
|
37
|
+
- dependencies
|
|
38
|
+
|
|
39
|
+
- title: Other Changes
|
|
40
|
+
labels:
|
|
41
|
+
- "*"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
name: Gem Release
|
|
2
3
|
|
|
3
4
|
on:
|
|
4
5
|
push:
|
|
@@ -6,27 +7,90 @@ on:
|
|
|
6
7
|
- '*'
|
|
7
8
|
|
|
8
9
|
jobs:
|
|
9
|
-
release:
|
|
10
|
-
|
|
10
|
+
build-release:
|
|
11
|
+
# Prevent releases from forked repositories
|
|
11
12
|
if: github.repository_owner == 'voxpupuli'
|
|
13
|
+
name: Build the gem
|
|
14
|
+
runs-on: ubuntu-24.04
|
|
15
|
+
permissions:
|
|
16
|
+
contents: write # clone repo and create release
|
|
12
17
|
steps:
|
|
13
18
|
- uses: actions/checkout@v4
|
|
14
|
-
- name: Install Ruby
|
|
19
|
+
- name: Install Ruby
|
|
15
20
|
uses: ruby/setup-ruby@v1
|
|
16
21
|
with:
|
|
17
|
-
ruby-version: '
|
|
18
|
-
env:
|
|
19
|
-
BUNDLE_WITHOUT: release
|
|
22
|
+
ruby-version: 'ruby'
|
|
20
23
|
- name: Build gem
|
|
21
|
-
|
|
24
|
+
shell: bash
|
|
25
|
+
run: gem build --verbose *.gemspec
|
|
26
|
+
- name: Upload gem to GitHub cache
|
|
27
|
+
uses: actions/upload-artifact@v4
|
|
28
|
+
with:
|
|
29
|
+
name: gem-artifact
|
|
30
|
+
path: '*.gem'
|
|
31
|
+
retention-days: 1
|
|
32
|
+
compression-level: 0
|
|
33
|
+
- name: Create Release Page
|
|
34
|
+
shell: bash
|
|
35
|
+
env:
|
|
36
|
+
GH_TOKEN: ${{ github.token }}
|
|
37
|
+
run: gh release create ${{ github.ref_name }} --generate-notes
|
|
38
|
+
- name: Attach gem to GitHub Release
|
|
39
|
+
shell: bash
|
|
40
|
+
env:
|
|
41
|
+
GH_TOKEN: ${{ github.token }}
|
|
42
|
+
run: gh release upload ${{ github.ref_name }} *.gem
|
|
43
|
+
|
|
44
|
+
release-to-github:
|
|
45
|
+
needs: build-release
|
|
46
|
+
name: Release to GitHub
|
|
47
|
+
runs-on: ubuntu-24.04
|
|
48
|
+
permissions:
|
|
49
|
+
packages: write # publish to rubygems.pkg.github.com
|
|
50
|
+
steps:
|
|
51
|
+
- name: Download gem from GitHub cache
|
|
52
|
+
uses: actions/download-artifact@v4
|
|
53
|
+
with:
|
|
54
|
+
name: gem-artifact
|
|
55
|
+
- name: Publish gem to GitHub packages
|
|
56
|
+
run: GEM_HOST_API_KEY=${{ secrets.GITHUB_TOKEN }} gem push --key github --host https://rubygems.pkg.github.com/${{ github.repository_owner }} *.gem
|
|
57
|
+
|
|
58
|
+
release-to-rubygems:
|
|
59
|
+
needs: build-release
|
|
60
|
+
name: Release gem to rubygems.org
|
|
61
|
+
runs-on: ubuntu-24.04
|
|
62
|
+
environment: release # recommended by rubygems.org
|
|
63
|
+
permissions:
|
|
64
|
+
id-token: write # rubygems.org authentication
|
|
65
|
+
steps:
|
|
66
|
+
- name: Download gem from GitHub cache
|
|
67
|
+
uses: actions/download-artifact@v4
|
|
68
|
+
with:
|
|
69
|
+
name: gem-artifact
|
|
70
|
+
- uses: rubygems/configure-rubygems-credentials@v1.0.0
|
|
22
71
|
- name: Publish gem to rubygems.org
|
|
72
|
+
shell: bash
|
|
23
73
|
run: gem push *.gem
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
74
|
+
|
|
75
|
+
release-verification:
|
|
76
|
+
name: Check that all releases are done
|
|
77
|
+
runs-on: ubuntu-24.04
|
|
78
|
+
permissions:
|
|
79
|
+
contents: read # minimal permissions that we have to grant
|
|
80
|
+
needs:
|
|
81
|
+
- release-to-github
|
|
82
|
+
- release-to-rubygems
|
|
83
|
+
steps:
|
|
84
|
+
- name: Download gem from GitHub cache
|
|
85
|
+
uses: actions/download-artifact@v4
|
|
86
|
+
with:
|
|
87
|
+
name: gem-artifact
|
|
88
|
+
- name: Install Ruby
|
|
89
|
+
uses: ruby/setup-ruby@v1
|
|
90
|
+
with:
|
|
91
|
+
ruby-version: 'ruby'
|
|
92
|
+
- name: Wait for release to propagate
|
|
93
|
+
shell: bash
|
|
27
94
|
run: |
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
chmod 0600 ~/.gem/credentials
|
|
31
|
-
- name: Publish gem to GitHub packages
|
|
32
|
-
run: gem push --key github --host https://rubygems.pkg.github.com/voxpupuli *.gem
|
|
95
|
+
gem install rubygems-await
|
|
96
|
+
gem await *.gem
|
data/.github/workflows/test.yml
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
---
|
|
1
2
|
name: Test
|
|
2
3
|
|
|
3
4
|
on:
|
|
@@ -9,11 +10,14 @@ on:
|
|
|
9
10
|
env:
|
|
10
11
|
BUNDLE_WITHOUT: release
|
|
11
12
|
|
|
13
|
+
permissions:
|
|
14
|
+
contents: read # minimal permissions that we have to grant
|
|
15
|
+
|
|
12
16
|
jobs:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
rubocop_and_matrix:
|
|
18
|
+
runs-on: ubuntu-24.04
|
|
19
|
+
outputs:
|
|
20
|
+
ruby: ${{ steps.ruby.outputs.versions }}
|
|
17
21
|
steps:
|
|
18
22
|
- uses: actions/checkout@v4
|
|
19
23
|
- name: Install Ruby ${{ matrix.ruby }}
|
|
@@ -23,21 +27,17 @@ jobs:
|
|
|
23
27
|
bundler-cache: true
|
|
24
28
|
- name: Run Rubocop
|
|
25
29
|
run: bundle exec rake rubocop
|
|
30
|
+
- id: ruby
|
|
31
|
+
uses: voxpupuli/ruby-version@v1
|
|
26
32
|
|
|
27
33
|
test:
|
|
28
|
-
|
|
34
|
+
needs: rubocop_and_matrix
|
|
35
|
+
name: "Ruby ${{ matrix.ruby }}"
|
|
36
|
+
runs-on: ubuntu-24.04
|
|
29
37
|
strategy:
|
|
30
38
|
fail-fast: false
|
|
31
39
|
matrix:
|
|
32
|
-
|
|
33
|
-
- ruby: '2.7'
|
|
34
|
-
- ruby: '3.0'
|
|
35
|
-
- ruby: '3.1'
|
|
36
|
-
- ruby: '3.2'
|
|
37
|
-
- ruby: '3.3'
|
|
38
|
-
coverage: 'yes'
|
|
39
|
-
env:
|
|
40
|
-
COVERAGE: ${{ matrix.coverage }}
|
|
40
|
+
ruby: ${{ fromJSON(needs.rubocop_and_matrix.outputs.ruby) }}
|
|
41
41
|
steps:
|
|
42
42
|
- uses: actions/checkout@v4
|
|
43
43
|
- name: Install Ruby ${{ matrix.ruby }}
|
|
@@ -54,9 +54,9 @@ jobs:
|
|
|
54
54
|
|
|
55
55
|
tests:
|
|
56
56
|
needs:
|
|
57
|
-
-
|
|
57
|
+
- rubocop_and_matrix
|
|
58
58
|
- test
|
|
59
|
-
runs-on: ubuntu-
|
|
59
|
+
runs-on: ubuntu-24.04
|
|
60
60
|
name: Test suite
|
|
61
61
|
steps:
|
|
62
62
|
- run: echo Test suite completed
|
data/.rubocop_todo.yml
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
# This configuration was generated by
|
|
2
|
-
# `rubocop --auto-gen-config`
|
|
3
|
-
#
|
|
2
|
+
# `rubocop --auto-gen-config --no-auto-gen-timestamp`
|
|
3
|
+
# using RuboCop version 1.75.8.
|
|
4
4
|
# The point is for the user to remove these configuration records
|
|
5
5
|
# one by one as the offenses are removed from the code base.
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
|
8
8
|
|
|
9
|
-
# Offense count: 1
|
|
10
|
-
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
11
|
-
Performance/MapCompact:
|
|
12
|
-
Exclude:
|
|
13
|
-
- 'lib/rspec-puppet-facts.rb'
|
|
14
|
-
|
|
15
9
|
# Offense count: 29
|
|
16
10
|
# Configuration parameters: Prefixes, AllowedPatterns.
|
|
17
11
|
# Prefixes: when, with, without
|
|
@@ -19,7 +13,7 @@ RSpec/ContextWording:
|
|
|
19
13
|
Exclude:
|
|
20
14
|
- 'spec/rspec_puppet_facts_spec.rb'
|
|
21
15
|
|
|
22
|
-
# Offense count:
|
|
16
|
+
# Offense count: 6
|
|
23
17
|
# Configuration parameters: CountAsOne.
|
|
24
18
|
RSpec/ExampleLength:
|
|
25
19
|
Max: 13
|
|
@@ -29,14 +23,6 @@ RSpec/ExpectInHook:
|
|
|
29
23
|
Exclude:
|
|
30
24
|
- 'spec/rspec_puppet_facts_spec.rb'
|
|
31
25
|
|
|
32
|
-
# Offense count: 8
|
|
33
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
34
|
-
# Configuration parameters: EnforcedStyle.
|
|
35
|
-
# SupportedStyles: single_line_only, single_statement_only, disallow, require_implicit
|
|
36
|
-
RSpec/ImplicitSubject:
|
|
37
|
-
Exclude:
|
|
38
|
-
- 'spec/rspec_puppet_facts_spec.rb'
|
|
39
|
-
|
|
40
26
|
# Offense count: 4
|
|
41
27
|
RSpec/LeakyConstantDeclaration:
|
|
42
28
|
Exclude:
|
|
@@ -52,7 +38,7 @@ RSpec/MessageSpies:
|
|
|
52
38
|
RSpec/MultipleExpectations:
|
|
53
39
|
Max: 2
|
|
54
40
|
|
|
55
|
-
# Offense count:
|
|
41
|
+
# Offense count: 48
|
|
56
42
|
# Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
|
|
57
43
|
# SupportedStyles: always, named_only
|
|
58
44
|
RSpec/NamedSubject:
|
|
@@ -69,39 +55,18 @@ RSpec/StubbedMock:
|
|
|
69
55
|
Exclude:
|
|
70
56
|
- 'spec/rspec_puppet_facts_spec.rb'
|
|
71
57
|
|
|
72
|
-
# Offense count: 2
|
|
73
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
74
|
-
Rake/Desc:
|
|
75
|
-
Exclude:
|
|
76
|
-
- 'Rakefile'
|
|
77
|
-
|
|
78
|
-
# Offense count: 6
|
|
79
|
-
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
80
|
-
# Configuration parameters: EnforcedStyle.
|
|
81
|
-
# SupportedStyles: always, always_true, never
|
|
82
|
-
Style/FrozenStringLiteralComment:
|
|
83
|
-
Exclude:
|
|
84
|
-
- 'Gemfile'
|
|
85
|
-
- 'Rakefile'
|
|
86
|
-
- 'lib/rspec-puppet-facts.rb'
|
|
87
|
-
- 'lib/rspec-puppet-facts/version.rb'
|
|
88
|
-
- 'spec/rspec_puppet_facts_spec.rb'
|
|
89
|
-
- 'spec/spec_helper.rb'
|
|
90
|
-
|
|
91
58
|
# Offense count: 1
|
|
92
59
|
Style/MixinUsage:
|
|
93
60
|
Exclude:
|
|
94
61
|
- 'spec/spec_helper.rb'
|
|
95
62
|
|
|
96
|
-
# Offense count:
|
|
63
|
+
# Offense count: 1
|
|
97
64
|
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
98
65
|
# Configuration parameters: EnforcedStyle.
|
|
99
66
|
# SupportedStyles: literals, strict
|
|
100
67
|
Style/MutableConstant:
|
|
101
68
|
Exclude:
|
|
102
69
|
- 'lib/rspec-puppet-facts.rb'
|
|
103
|
-
- 'lib/rspec-puppet-facts/version.rb'
|
|
104
|
-
- 'spec/rspec_puppet_facts_spec.rb'
|
|
105
70
|
|
|
106
71
|
# Offense count: 1
|
|
107
72
|
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
@@ -112,12 +77,6 @@ Style/RedundantArgument:
|
|
|
112
77
|
|
|
113
78
|
# Offense count: 1
|
|
114
79
|
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
115
|
-
Style/RedundantSort:
|
|
116
|
-
Exclude:
|
|
117
|
-
- 'lib/rspec-puppet-facts.rb'
|
|
118
|
-
|
|
119
|
-
# Offense count: 2
|
|
120
|
-
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
121
80
|
# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
|
|
122
81
|
# AllowedMethods: present?, blank?, presence, try, try!
|
|
123
82
|
Style/SafeNavigation:
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,62 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [5.
|
|
3
|
+
## [5.4.0](https://github.com/voxpupuli/rspec-puppet-facts/tree/5.4.0) (2025-06-11)
|
|
4
|
+
|
|
5
|
+
[Full Changelog](https://github.com/voxpupuli/rspec-puppet-facts/compare/5.3.1...5.4.0)
|
|
6
|
+
|
|
7
|
+
**Implemented enhancements:**
|
|
8
|
+
|
|
9
|
+
- Support OpenVox [\#217](https://github.com/voxpupuli/rspec-puppet-facts/pull/217) ([bastelfreak](https://github.com/bastelfreak))
|
|
10
|
+
- Make Puppet a soft dependency [\#213](https://github.com/voxpupuli/rspec-puppet-facts/pull/213) ([ekohl](https://github.com/ekohl))
|
|
11
|
+
- Add Ruby 3.4 support / generate CI matrix dynamically [\#211](https://github.com/voxpupuli/rspec-puppet-facts/pull/211) ([bastelfreak](https://github.com/bastelfreak))
|
|
12
|
+
|
|
13
|
+
**Merged pull requests:**
|
|
14
|
+
|
|
15
|
+
- Drop unused coverage reporting [\#210](https://github.com/voxpupuli/rspec-puppet-facts/pull/210) ([bastelfreak](https://github.com/bastelfreak))
|
|
16
|
+
|
|
17
|
+
## [5.3.1](https://github.com/voxpupuli/rspec-puppet-facts/tree/5.3.1) (2025-04-29)
|
|
18
|
+
|
|
19
|
+
[Full Changelog](https://github.com/voxpupuli/rspec-puppet-facts/compare/5.3.0...5.3.1)
|
|
20
|
+
|
|
21
|
+
**Fixed bugs:**
|
|
22
|
+
|
|
23
|
+
- Fix compatibility with Ruby 2.7 [\#207](https://github.com/voxpupuli/rspec-puppet-facts/pull/207) ([silug](https://github.com/silug))
|
|
24
|
+
|
|
25
|
+
## [5.3.0](https://github.com/voxpupuli/rspec-puppet-facts/tree/5.3.0) (2025-04-28)
|
|
26
|
+
|
|
27
|
+
[Full Changelog](https://github.com/voxpupuli/rspec-puppet-facts/compare/5.2.0...5.3.0)
|
|
28
|
+
|
|
29
|
+
**Implemented enhancements:**
|
|
30
|
+
|
|
31
|
+
- Add Puppet 8.12 / Facter 4.12 [\#204](https://github.com/voxpupuli/rspec-puppet-facts/pull/204) ([bastelfreak](https://github.com/bastelfreak))
|
|
32
|
+
- Only store facter versions in JSON [\#203](https://github.com/voxpupuli/rspec-puppet-facts/pull/203) ([ekohl](https://github.com/ekohl))
|
|
33
|
+
|
|
34
|
+
## [5.2.0](https://github.com/voxpupuli/rspec-puppet-facts/tree/5.2.0) (2024-10-30)
|
|
35
|
+
|
|
36
|
+
[Full Changelog](https://github.com/voxpupuli/rspec-puppet-facts/compare/5.1.0...5.2.0)
|
|
37
|
+
|
|
38
|
+
**Implemented enhancements:**
|
|
39
|
+
|
|
40
|
+
- Update components.json with Puppet 8.10.0 [\#200](https://github.com/voxpupuli/rspec-puppet-facts/pull/200) ([bastelfreak](https://github.com/bastelfreak))
|
|
41
|
+
|
|
42
|
+
**Merged pull requests:**
|
|
43
|
+
|
|
44
|
+
- Update voxpupuli-rubocop requirement from ~\> 2.8.0 to ~\> 3.0.0 [\#199](https://github.com/voxpupuli/rspec-puppet-facts/pull/199) ([dependabot[bot]](https://github.com/apps/dependabot))
|
|
45
|
+
|
|
46
|
+
## [5.1.0](https://github.com/voxpupuli/rspec-puppet-facts/tree/5.1.0) (2024-08-13)
|
|
47
|
+
|
|
48
|
+
[Full Changelog](https://github.com/voxpupuli/rspec-puppet-facts/compare/5.0.0...5.1.0)
|
|
49
|
+
|
|
50
|
+
**Implemented enhancements:**
|
|
51
|
+
|
|
52
|
+
- Update components.json with Puppet 8.8.1 [\#197](https://github.com/voxpupuli/rspec-puppet-facts/pull/197) ([bastelfreak](https://github.com/bastelfreak))
|
|
53
|
+
- Update components.json with Puppet 8.7.0 [\#195](https://github.com/voxpupuli/rspec-puppet-facts/pull/195) ([bastelfreak](https://github.com/bastelfreak))
|
|
54
|
+
|
|
55
|
+
**Merged pull requests:**
|
|
56
|
+
|
|
57
|
+
- Generate a pretty `ext/puppet_agent_components.json` file [\#196](https://github.com/voxpupuli/rspec-puppet-facts/pull/196) ([smortex](https://github.com/smortex))
|
|
58
|
+
|
|
59
|
+
## [5.0.0](https://github.com/voxpupuli/rspec-puppet-facts/tree/5.0.0) (2024-07-08)
|
|
4
60
|
|
|
5
61
|
[Full Changelog](https://github.com/voxpupuli/rspec-puppet-facts/compare/4.0.0...5.0.0)
|
|
6
62
|
|
data/Gemfile
CHANGED
|
@@ -1,15 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
|
|
2
4
|
|
|
3
5
|
gemspec
|
|
4
6
|
|
|
5
7
|
gem 'facter', ENV.fetch('FACTER_GEM_VERSION', nil), require: false
|
|
6
8
|
|
|
7
|
-
group :release do
|
|
9
|
+
group :release, optional: true do
|
|
8
10
|
gem 'faraday-retry', '~> 2.1', require: false
|
|
9
11
|
gem 'github_changelog_generator', '~> 1.16.4', require: false
|
|
10
12
|
end
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
gem '
|
|
14
|
+
if ENV.fetch('IMPLEMENTATION', nil) == 'puppet'
|
|
15
|
+
# puppet on Ruby 3.3 / 3.4 has some missing dependencies
|
|
16
|
+
gem 'base64', '~> 0.2' if RUBY_VERSION >= '3.4'
|
|
17
|
+
gem 'puppet', '>= 7', '< 9'
|
|
18
|
+
gem 'racc', '~> 1.8' if RUBY_VERSION >= '3.3'
|
|
19
|
+
else
|
|
20
|
+
gem 'openvox'
|
|
15
21
|
end
|
|
22
|
+
gem 'syslog', '~> 0.3' if RUBY_VERSION >= '3.4'
|
data/README.md
CHANGED
|
@@ -572,7 +572,7 @@ When no facts are available for the specific facter/operating system combination
|
|
|
572
572
|
## Maintenance
|
|
573
573
|
|
|
574
574
|
This gem uses information about puppet AIO component versions to build/test.
|
|
575
|
-
They are
|
|
575
|
+
They are stored at `ext/puppet_agent_facter_versions.json`. If they are outdated,
|
|
576
576
|
the `puppet_versions:test` rake task will fail and they need to be updated.
|
|
577
577
|
This is as easy as running: `bundle exec rake puppet_versions:update`
|
|
578
578
|
|
data/Rakefile
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
PUPPET_VERSIONS_PATH = File.join(__dir__, 'ext', 'puppet_agent_facter_versions.json')
|
|
2
4
|
|
|
3
5
|
begin
|
|
4
6
|
require 'rspec/core/rake_task'
|
|
@@ -17,10 +19,12 @@ task :dump_commit do
|
|
|
17
19
|
end
|
|
18
20
|
|
|
19
21
|
namespace :puppet_versions do
|
|
22
|
+
desc 'updates the vendored list of puppet versions & components'
|
|
20
23
|
task :update do
|
|
21
24
|
require 'net/http'
|
|
22
25
|
require 'net/https'
|
|
23
26
|
require 'uri'
|
|
27
|
+
require 'json'
|
|
24
28
|
|
|
25
29
|
uri = URI.parse('https://forgeapi.puppet.com/private/versions/puppet-agent')
|
|
26
30
|
http = Net::HTTP.new(uri.host, uri.port)
|
|
@@ -30,11 +34,17 @@ namespace :puppet_versions do
|
|
|
30
34
|
response = http.request(request)
|
|
31
35
|
raise unless response.is_a?(Net::HTTPSuccess)
|
|
32
36
|
|
|
33
|
-
|
|
34
|
-
|
|
37
|
+
data = JSON.parse(response.body).filter_map do |_, versions|
|
|
38
|
+
if !versions['puppet'].nil? && !versions['facter'].nil?
|
|
39
|
+
[versions['puppet'], versions['facter']]
|
|
40
|
+
end
|
|
35
41
|
end
|
|
42
|
+
data.sort_by! { |puppet, _facter| Gem::Version.new(puppet) }.reverse!
|
|
43
|
+
|
|
44
|
+
File.write(PUPPET_VERSIONS_PATH, "#{JSON.pretty_generate(data.to_h)}\n")
|
|
36
45
|
end
|
|
37
46
|
|
|
47
|
+
desc 'runs all tests and verifies vendored component list'
|
|
38
48
|
task :test do
|
|
39
49
|
Rake::Task['puppet_versions:update'].invoke
|
|
40
50
|
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
{
|
|
2
|
+
"8.12.0": "4.12.0",
|
|
3
|
+
"8.11.0": "4.11.0",
|
|
4
|
+
"8.10.0": "4.10.0",
|
|
5
|
+
"8.9.0": "4.9.0",
|
|
6
|
+
"8.8.1": "4.8.0",
|
|
7
|
+
"8.8.0": "4.8.0",
|
|
8
|
+
"8.7.0": "4.7.1",
|
|
9
|
+
"8.6.0": "4.7.0",
|
|
10
|
+
"8.5.1": "4.6.1",
|
|
11
|
+
"8.5.0": "4.6.0",
|
|
12
|
+
"8.4.0": "4.5.2",
|
|
13
|
+
"8.3.1": "4.5.1",
|
|
14
|
+
"8.3.0": "4.5.1",
|
|
15
|
+
"8.2.0": "4.4.2",
|
|
16
|
+
"8.1.0": "4.4.1-2-g785cfa2ae",
|
|
17
|
+
"8.0.0": "4.4.0",
|
|
18
|
+
"7.35.0": "4.11.0",
|
|
19
|
+
"7.34.0": "4.10.0",
|
|
20
|
+
"7.33.0": "4.9.0",
|
|
21
|
+
"7.32.1": "4.8.0",
|
|
22
|
+
"7.32.0": "4.8.0",
|
|
23
|
+
"7.31.0": "4.7.1",
|
|
24
|
+
"7.30.0": "4.7.0",
|
|
25
|
+
"7.29.1": "4.6.1",
|
|
26
|
+
"7.29.0": "4.6.0",
|
|
27
|
+
"7.28.0": "4.5.2",
|
|
28
|
+
"7.27.0": "4.5.1",
|
|
29
|
+
"7.26.0": "4.4.2",
|
|
30
|
+
"7.25.0": "4.4.1",
|
|
31
|
+
"7.24.0": "4.3.1",
|
|
32
|
+
"7.23.0": "4.3.0",
|
|
33
|
+
"7.21.0": "4.2.14",
|
|
34
|
+
"7.20.0": "4.2.13",
|
|
35
|
+
"7.19.0": "4.2.12",
|
|
36
|
+
"7.18.0": "4.2.11",
|
|
37
|
+
"7.17.0": "4.2.10",
|
|
38
|
+
"7.16.0": "4.2.8",
|
|
39
|
+
"7.15.0": "4.2.8",
|
|
40
|
+
"7.14.0": "4.2.7",
|
|
41
|
+
"7.13.1": "4.2.6",
|
|
42
|
+
"7.13.0": "4.2.6",
|
|
43
|
+
"7.12.1": "4.2.5",
|
|
44
|
+
"7.12.0": "4.2.5",
|
|
45
|
+
"7.11.0": "4.2.4",
|
|
46
|
+
"7.10.0": "4.2.3",
|
|
47
|
+
"7.9.0": "4.2.2",
|
|
48
|
+
"7.8.0": "4.2.1",
|
|
49
|
+
"7.7.0": "4.2.0",
|
|
50
|
+
"7.6.1": "4.1.1",
|
|
51
|
+
"7.6.0": "4.1.0",
|
|
52
|
+
"7.5.0": "4.0.52",
|
|
53
|
+
"7.4.1": "4.0.51",
|
|
54
|
+
"7.4.0": "4.0.51",
|
|
55
|
+
"7.3.0": "4.0.49",
|
|
56
|
+
"7.1.0": "4.0.47",
|
|
57
|
+
"7.0.0": "4.0.46",
|
|
58
|
+
"6.28.0": "3.14.24",
|
|
59
|
+
"6.27.0": "3.14.23",
|
|
60
|
+
"6.26.0": "3.14.22",
|
|
61
|
+
"6.25.1": "3.14.21",
|
|
62
|
+
"6.25.0": "3.14.20",
|
|
63
|
+
"6.24.0": "3.14.19",
|
|
64
|
+
"6.23.0": "3.14.18",
|
|
65
|
+
"6.22.1": "3.14.17",
|
|
66
|
+
"6.22.0": "3.14.17",
|
|
67
|
+
"6.21.1": "3.14.16",
|
|
68
|
+
"6.21.0": "3.14.16",
|
|
69
|
+
"6.20.0": "3.14.15",
|
|
70
|
+
"6.19.1": "3.14.14",
|
|
71
|
+
"6.19.0": "3.14.14",
|
|
72
|
+
"6.18.0": "3.14.13",
|
|
73
|
+
"6.17.0": "3.14.12",
|
|
74
|
+
"6.16.0": "3.14.11",
|
|
75
|
+
"6.15.0": "3.14.10",
|
|
76
|
+
"6.14.0": "3.14.9",
|
|
77
|
+
"6.13.0": "3.14.8",
|
|
78
|
+
"6.12.0": "3.14.7",
|
|
79
|
+
"6.11.1": "3.14.6",
|
|
80
|
+
"6.11.0": "3.14.6",
|
|
81
|
+
"6.10.1": "3.14.5",
|
|
82
|
+
"6.10.0": "3.14.5",
|
|
83
|
+
"6.9.0": "3.14.4",
|
|
84
|
+
"6.8.1": "3.14.3",
|
|
85
|
+
"6.8.0": "3.14.3",
|
|
86
|
+
"6.7.2": "3.14.2",
|
|
87
|
+
"6.7.1": "3.14.2",
|
|
88
|
+
"6.7.0": "3.14.2",
|
|
89
|
+
"6.6.0": "3.14.1",
|
|
90
|
+
"6.5.0": "3.14.0",
|
|
91
|
+
"6.4.5": "3.13.5",
|
|
92
|
+
"6.4.4": "3.13.4",
|
|
93
|
+
"6.4.3": "3.13.3",
|
|
94
|
+
"6.4.2": "3.13.2",
|
|
95
|
+
"6.4.1": "3.13.2",
|
|
96
|
+
"6.4.0": "3.13.1",
|
|
97
|
+
"6.3.0": "3.13.0",
|
|
98
|
+
"6.2.0": "3.12.3",
|
|
99
|
+
"6.0.10": "3.12.5",
|
|
100
|
+
"6.0.9": "3.12.4",
|
|
101
|
+
"6.0.8": "3.12.4",
|
|
102
|
+
"6.0.7": "3.12.4",
|
|
103
|
+
"6.0.5": "3.12.3",
|
|
104
|
+
"5.5.22": "3.11.14",
|
|
105
|
+
"5.5.21": "3.11.14",
|
|
106
|
+
"5.5.20": "3.11.13",
|
|
107
|
+
"5.5.19": "3.11.12",
|
|
108
|
+
"5.5.18": "3.11.11",
|
|
109
|
+
"5.5.17": "3.11.10",
|
|
110
|
+
"5.5.16": "3.11.9",
|
|
111
|
+
"5.5.15": "3.11.9",
|
|
112
|
+
"5.5.14": "3.11.8",
|
|
113
|
+
"5.5.13": "3.11.8",
|
|
114
|
+
"5.5.12": "3.11.8",
|
|
115
|
+
"5.5.11": "3.11.8",
|
|
116
|
+
"5.5.10": "3.11.7",
|
|
117
|
+
"5.5.9": "3.11.7",
|
|
118
|
+
"5.4.0": "3.10.0",
|
|
119
|
+
"5.3.5": "3.9.5",
|
|
120
|
+
"5.3.4": "3.9.4",
|
|
121
|
+
"5.3.3": "3.9.3",
|
|
122
|
+
"5.3.2": "3.9.2",
|
|
123
|
+
"5.3.1": "3.9.2",
|
|
124
|
+
"5.3.0": "3.9.1",
|
|
125
|
+
"5.2.0": "3.9.0",
|
|
126
|
+
"5.1.0": "3.8.0",
|
|
127
|
+
"4.10.13": "3.6.11",
|
|
128
|
+
"4.10.10": "3.6.9",
|
|
129
|
+
"4.10.9": "3.6.8",
|
|
130
|
+
"4.10.8": "3.6.7",
|
|
131
|
+
"4.10.7": "3.6.7",
|
|
132
|
+
"4.10.6": "3.6.6"
|
|
133
|
+
}
|