ra10ke 4.3.0 → 4.5.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: 491a77b0c52058543f622d2c52d8954909d5c295040de7fc286c44448086ba34
4
- data.tar.gz: b6839c56aed1cd7961a8003406dbaf6c29ddbb5561928160ee6519f5d777a08a
3
+ metadata.gz: ea18d86c034c89c78111ffadc6f2a3612332c9a8715275b957e3367d5c4a3d06
4
+ data.tar.gz: d7e12ba7bbc9a444c5a94d95c2e7421e0e632316ad6ce920a0152397510504c9
5
5
  SHA512:
6
- metadata.gz: c38aa105a739f4abd4f6924e9b0223569d5daa2821bf830276d2bbd51576436d2a45dcf30b041fc23abd02f8e1fff75ccd5c995ddfab7c00a48a9ca9023340f0
7
- data.tar.gz: f3412aba6d1eb7980c5ce30f3755136644594a660c1e133eadd94d6e18ea19bd1120f70cd7d0bc4698d869e111744da9c21f6b7a998773b7881bfe67461b13c4
6
+ metadata.gz: 862eff9a48ac411815d92e71c01f12448d8d2b8d348ec0de709a8026d6617a8f7688161a15f294bb08dad75325853884fea3abd0e847d13a16129593f8438149
7
+ data.tar.gz: 756ad73f768fdd94ef42268769fbb4fe37b47e342e3ecfa811ceda820276bd787aaaaf381131f49e54961562fcade747f7e1784e209933ff569a96060ff5e462
@@ -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,32 +1,106 @@
1
- name: Release
1
+ ---
2
+ name: Gem Release
2
3
 
3
4
  on:
4
5
  push:
5
6
  tags:
6
7
  - '*'
7
8
 
9
+ permissions: {}
10
+
8
11
  jobs:
9
- release:
10
- runs-on: ubuntu-latest
12
+ build-release:
13
+ # Prevent releases from forked repositories
11
14
  if: github.repository_owner == 'voxpupuli'
15
+ name: Build the gem
16
+ runs-on: ubuntu-24.04
12
17
  steps:
13
- - uses: actions/checkout@v4
14
- - name: Install Ruby 3.3
18
+ - uses: actions/checkout@v5
19
+ - name: Install Ruby
15
20
  uses: ruby/setup-ruby@v1
16
21
  with:
17
- ruby-version: '3.3'
18
- env:
19
- BUNDLE_WITHOUT: release
22
+ ruby-version: 'ruby'
20
23
  - name: Build gem
21
- run: gem build --strict --verbose *.gemspec
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
+
34
+ create-github-release:
35
+ needs: build-release
36
+ name: Create GitHub release
37
+ runs-on: ubuntu-24.04
38
+ permissions:
39
+ contents: write # clone repo and create release
40
+ steps:
41
+ - name: Download gem from GitHub cache
42
+ uses: actions/download-artifact@v5
43
+ with:
44
+ name: gem-artifact
45
+ - name: Create Release
46
+ shell: bash
47
+ env:
48
+ GH_TOKEN: ${{ github.token }}
49
+ run: gh release create --repo ${{ github.repository }} ${{ github.ref_name }} --generate-notes *.gem
50
+
51
+ release-to-github:
52
+ needs: build-release
53
+ name: Release to GitHub
54
+ runs-on: ubuntu-24.04
55
+ permissions:
56
+ packages: write # publish to rubygems.pkg.github.com
57
+ steps:
58
+ - name: Download gem from GitHub cache
59
+ uses: actions/download-artifact@v5
60
+ with:
61
+ name: gem-artifact
62
+ - name: Publish gem to GitHub packages
63
+ run: gem push --host https://rubygems.pkg.github.com/${{ github.repository_owner }} *.gem
64
+ env:
65
+ GEM_HOST_API_KEY: ${{ secrets.GITHUB_TOKEN }}
66
+
67
+ release-to-rubygems:
68
+ needs: build-release
69
+ name: Release gem to rubygems.org
70
+ runs-on: ubuntu-24.04
71
+ environment: release # recommended by rubygems.org
72
+ permissions:
73
+ id-token: write # rubygems.org authentication
74
+ steps:
75
+ - name: Download gem from GitHub cache
76
+ uses: actions/download-artifact@v5
77
+ with:
78
+ name: gem-artifact
79
+ - uses: rubygems/configure-rubygems-credentials@v1.0.0
22
80
  - name: Publish gem to rubygems.org
81
+ shell: bash
23
82
  run: gem push *.gem
24
- env:
25
- GEM_HOST_API_KEY: '${{ secrets.RUBYGEMS_AUTH_TOKEN }}'
26
- - name: Setup GitHub packages access
83
+
84
+ release-verification:
85
+ name: Check that all releases are done
86
+ runs-on: ubuntu-24.04
87
+ permissions:
88
+ contents: read # minimal permissions that we have to grant
89
+ needs:
90
+ - create-github-release
91
+ - release-to-github
92
+ - release-to-rubygems
93
+ steps:
94
+ - name: Download gem from GitHub cache
95
+ uses: actions/download-artifact@v5
96
+ with:
97
+ name: gem-artifact
98
+ - name: Install Ruby
99
+ uses: ruby/setup-ruby@v1
100
+ with:
101
+ ruby-version: 'ruby'
102
+ - name: Wait for release to propagate
103
+ shell: bash
27
104
  run: |
28
- mkdir -p ~/.gem
29
- echo ":github: Bearer ${{ secrets.GITHUB_TOKEN }}" >> ~/.gem/credentials
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
105
+ gem install rubygems-await
106
+ gem await *.gem
@@ -1,3 +1,4 @@
1
+ ---
1
2
  name: Test
2
3
 
3
4
  on:
@@ -6,8 +7,8 @@ on:
6
7
  branches:
7
8
  - master
8
9
 
9
- env:
10
- BUNDLE_WITHOUT: release
10
+ permissions:
11
+ contents: read
11
12
 
12
13
  jobs:
13
14
  rubocop_and_matrix:
@@ -15,7 +16,7 @@ jobs:
15
16
  outputs:
16
17
  ruby: ${{ steps.ruby.outputs.versions }}
17
18
  steps:
18
- - uses: actions/checkout@v4
19
+ - uses: actions/checkout@v5
19
20
  - name: Install Ruby ${{ matrix.ruby }}
20
21
  uses: ruby/setup-ruby@v1
21
22
  with:
@@ -34,7 +35,7 @@ jobs:
34
35
  ruby: ${{ fromJSON(needs.rubocop_and_matrix.outputs.ruby) }}
35
36
  name: Ruby ${{ matrix.ruby }}
36
37
  steps:
37
- - uses: actions/checkout@v4
38
+ - uses: actions/checkout@v5
38
39
  - name: Install Ruby ${{ matrix.ruby }}
39
40
  uses: ruby/setup-ruby@v1
40
41
  with:
@@ -46,10 +47,14 @@ jobs:
46
47
  run: gem build --strict --verbose *.gemspec
47
48
 
48
49
  tests:
50
+ if: always()
49
51
  needs:
50
52
  - rubocop_and_matrix
51
53
  - test
52
- runs-on: ubuntu-latest
54
+ runs-on: ubuntu-24.04
53
55
  name: Test suite
54
56
  steps:
55
- - run: echo Test suite completed
57
+ - name: Decide whether the needed jobs succeeded or failed
58
+ uses: re-actors/alls-green@release/v1
59
+ with:
60
+ jobs: ${{ toJSON(needs) }}
data/.rubocop_todo.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2025-05-09 13:01:13 UTC using RuboCop version 1.75.5.
2
+ # `rubocop --auto-gen-config --no-auto-gen-timestamp`
3
+ # using RuboCop version 1.79.2.
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
@@ -23,14 +23,6 @@ Lint/SuppressedException:
23
23
  Exclude:
24
24
  - 'Rakefile'
25
25
 
26
- # Offense count: 4
27
- # This cop supports safe autocorrection (--autocorrect).
28
- # Configuration parameters: AutoCorrect.
29
- Lint/UselessAssignment:
30
- Exclude:
31
- - 'lib/ra10ke/dependencies.rb'
32
- - 'lib/ra10ke/solve.rb'
33
-
34
26
  # Offense count: 2
35
27
  Naming/AccessorMethodName:
36
28
  Exclude:
@@ -51,6 +43,12 @@ Naming/MethodParameterName:
51
43
  Exclude:
52
44
  - 'lib/ra10ke/solve.rb'
53
45
 
46
+ # Offense count: 1
47
+ # Configuration parameters: MinSize.
48
+ Performance/CollectionLiteralInLoop:
49
+ Exclude:
50
+ - 'lib/ra10ke/git_repo.rb'
51
+
54
52
  # Offense count: 2
55
53
  # This cop supports unsafe autocorrection (--autocorrect-all).
56
54
  Performance/Count:
@@ -100,10 +98,6 @@ RSpec/ExpectInHook:
100
98
  RSpec/MessageSpies:
101
99
  EnforcedStyle: receive
102
100
 
103
- # Offense count: 7
104
- RSpec/MultipleExpectations:
105
- Max: 3
106
-
107
101
  # Offense count: 1
108
102
  # Configuration parameters: AllowedPatterns.
109
103
  # AllowedPatterns: ^expect_, ^assert_
@@ -142,8 +136,8 @@ RSpec/VoidExpect:
142
136
  # This cop supports unsafe autocorrection (--autocorrect-all).
143
137
  # Configuration parameters: EnforcedStyle, EnforcedStyleForClasses, EnforcedStyleForModules.
144
138
  # SupportedStyles: nested, compact
145
- # SupportedStylesForClasses: , nested, compact
146
- # SupportedStylesForModules: , nested, compact
139
+ # SupportedStylesForClasses: ~, nested, compact
140
+ # SupportedStylesForModules: ~, nested, compact
147
141
  Style/ClassAndModuleChildren:
148
142
  Exclude:
149
143
  - 'lib/ra10ke/dependencies.rb'
@@ -160,6 +154,12 @@ Style/CollectionCompact:
160
154
  Exclude:
161
155
  - 'lib/ra10ke/dependencies.rb'
162
156
 
157
+ # Offense count: 1
158
+ # This cop supports unsafe autocorrection (--autocorrect-all).
159
+ Style/CollectionQuerying:
160
+ Exclude:
161
+ - 'lib/ra10ke/validate.rb'
162
+
163
163
  # Offense count: 17
164
164
  # Configuration parameters: AllowedConstants.
165
165
  Style/Documentation:
@@ -217,13 +217,6 @@ Style/MultilineBlockChain:
217
217
  Exclude:
218
218
  - 'lib/ra10ke/dependencies.rb'
219
219
 
220
- # Offense count: 1
221
- # This cop supports safe autocorrection (--autocorrect).
222
- # Configuration parameters: AllowMethodComparison, ComparisonsThreshold.
223
- Style/MultipleComparison:
224
- Exclude:
225
- - 'lib/ra10ke/git_repo.rb'
226
-
227
220
  # Offense count: 1
228
221
  # This cop supports unsafe autocorrection (--autocorrect-all).
229
222
  # Configuration parameters: EnforcedStyle.
@@ -278,7 +271,7 @@ Style/SymbolProc:
278
271
 
279
272
  # Offense count: 6
280
273
  # This cop supports safe autocorrection (--autocorrect).
281
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
274
+ # Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
282
275
  # URISchemes: http, https
283
276
  Layout/LineLength:
284
277
  Max: 137
data/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [v4.5.0](https://github.com/voxpupuli/ra10ke/tree/v4.5.0) (2025-10-16)
6
+
7
+ [Full Changelog](https://github.com/voxpupuli/ra10ke/compare/v4.4.0...v4.5.0)
8
+
9
+ **Merged pull requests:**
10
+
11
+ - Update voxpupuli-rubocop requirement from ~\> 4.2.0 to ~\> 4.3.0 [\#133](https://github.com/voxpupuli/ra10ke/pull/133) ([dependabot[bot]](https://github.com/apps/dependabot))
12
+ - Update voxpupuli-rubocop requirement from ~\> 4.1.0 to ~\> 4.2.0 [\#130](https://github.com/voxpupuli/ra10ke/pull/130) ([dependabot[bot]](https://github.com/apps/dependabot))
13
+ - Update git requirement from \>= 1.18, \< 4.0 to \>= 1.18, \< 5.0 [\#129](https://github.com/voxpupuli/ra10ke/pull/129) ([dependabot[bot]](https://github.com/apps/dependabot))
14
+
15
+ ## [v4.4.0](https://github.com/voxpupuli/ra10ke/tree/v4.4.0) (2025-06-08)
16
+
17
+ [Full Changelog](https://github.com/voxpupuli/ra10ke/compare/v4.3.0...v4.4.0)
18
+
19
+ **Merged pull requests:**
20
+
21
+ - Update voxpupuli-rubocop requirement from ~\> 4.0.0 to ~\> 4.1.0 [\#126](https://github.com/voxpupuli/ra10ke/pull/126) ([dependabot[bot]](https://github.com/apps/dependabot))
22
+
5
23
  ## [v4.3.0](https://github.com/voxpupuli/ra10ke/tree/v4.3.0) (2025-05-13)
6
24
 
7
25
  [Full Changelog](https://github.com/voxpupuli/ra10ke/compare/v4.2.0...v4.3.0)
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in ra10ke.gemspec
4
4
  gemspec
5
5
 
6
- group :release do
6
+ group :release, optional: true do
7
7
  gem 'faraday-retry', '~> 2.1', require: false
8
8
  gem 'github_changelog_generator', '~> 1.16.4', require: false
9
9
  end
@@ -27,7 +27,7 @@ module Ra10ke::Dependencies
27
27
  # ignore tags that do not comply to semver
28
28
  nil
29
29
  end.select { |tag| !tag.nil? }.sort.last.to_s.downcase
30
- latest_ref = tags.detect { |tag| tag[/\Av?(.*)\Z/, 1] == latest_tag }
30
+ tags.detect { |tag| tag[/\Av?(.*)\Z/, 1] == latest_tag }
31
31
  end
32
32
  attr_reader :puppetfile
33
33
 
@@ -151,8 +151,7 @@ module Ra10ke::Dependencies
151
151
  PuppetForge.host = puppetfile.forge if puppetfile.forge =~ /^http/
152
152
 
153
153
  # ignore file allows for "don't tell me about this"
154
- ignore_modules = []
155
- ignore_modules = File.readlines('.r10kignore').each { |l| l.chomp! } if File.exist?('.r10kignore')
154
+ File.readlines('.r10kignore').each { |l| l.chomp! } if File.exist?('.r10kignore')
156
155
  forge_mods = puppetfile.modules.find_all do |mod|
157
156
  mod.instance_of?(R10K::Module::Forge) && mod.v3_module.homepage_url?
158
157
  end
@@ -32,6 +32,7 @@ module Ra10ke::Duplicates
32
32
 
33
33
  class Verification
34
34
  include Ra10ke::PuppetfileParser
35
+
35
36
  Module = Struct.new(:namespace, :name, :args) do
36
37
  def git?
37
38
  args.key? :git
@@ -65,7 +65,7 @@ module Ra10ke
65
65
 
66
66
  found = all_refs.find do |data|
67
67
  # we don't need to bother with these types
68
- next if data[:type] == :pull || data[:type] == :merge_request
68
+ next if %i[pull merge_request].include?(data[:type])
69
69
 
70
70
  # is the name equal to the tag or branch? Is the commit sha equal?
71
71
  data[:name].eql?(ref) || data[:sha].slice(0, 8).eql?(ref.slice(0, 8))
data/lib/ra10ke/solve.rb CHANGED
@@ -177,7 +177,7 @@ module Ra10ke::Solve
177
177
 
178
178
  def add_reqs_to_graph(artifact, metadata, no_demands = nil)
179
179
  deps = get_key_or_sym(metadata, :dependencies)
180
- my_name = get_key_or_sym(metadata, :name)
180
+ get_key_or_sym(metadata, :name)
181
181
  deps.each do |dep|
182
182
  name = get_key_or_sym(dep, :name).tr('/', '-')
183
183
  # Add dependency to the global set of modules we want, so that we can
@@ -1,3 +1,3 @@
1
1
  module Ra10ke
2
- VERSION = '4.3.0'
2
+ VERSION = '4.5.0'
3
3
  end
data/ra10ke.gemspec CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
16
16
  spec.require_paths = ['lib']
17
17
  spec.required_ruby_version = '>= 3.1.0'
18
18
 
19
- spec.add_dependency 'git', '>= 1.18', '< 4.0'
19
+ spec.add_dependency 'git', '>= 1.18', '< 5.0'
20
20
  spec.add_dependency 'puppet_forge', '~> 6.0'
21
21
  spec.add_dependency 'r10k', '~> 5.0'
22
22
  spec.add_dependency 'rake', '~> 13.0', '>= 13.0.6'
@@ -24,5 +24,5 @@ Gem::Specification.new do |spec|
24
24
  spec.add_dependency 'solve', '~> 4.0', '>= 4.0.4'
25
25
  spec.add_dependency 'table_print', '~> 1.5.6'
26
26
  spec.add_development_dependency 'rspec', '~> 3.6'
27
- spec.add_development_dependency 'voxpupuli-rubocop', '~> 4.0.0'
27
+ spec.add_development_dependency 'voxpupuli-rubocop', '~> 4.3.0'
28
28
  end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ra10ke
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.0
4
+ version: 4.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Theo Chatzimichos
8
8
  - Vox Pupuli
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2025-05-13 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: git
@@ -20,7 +19,7 @@ dependencies:
20
19
  version: '1.18'
21
20
  - - "<"
22
21
  - !ruby/object:Gem::Version
23
- version: '4.0'
22
+ version: '5.0'
24
23
  type: :runtime
25
24
  prerelease: false
26
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -30,7 +29,7 @@ dependencies:
30
29
  version: '1.18'
31
30
  - - "<"
32
31
  - !ruby/object:Gem::Version
33
- version: '4.0'
32
+ version: '5.0'
34
33
  - !ruby/object:Gem::Dependency
35
34
  name: puppet_forge
36
35
  requirement: !ruby/object:Gem::Requirement
@@ -153,14 +152,14 @@ dependencies:
153
152
  requirements:
154
153
  - - "~>"
155
154
  - !ruby/object:Gem::Version
156
- version: 4.0.0
155
+ version: 4.3.0
157
156
  type: :development
158
157
  prerelease: false
159
158
  version_requirements: !ruby/object:Gem::Requirement
160
159
  requirements:
161
160
  - - "~>"
162
161
  - !ruby/object:Gem::Version
163
- version: 4.0.0
162
+ version: 4.3.0
164
163
  description: R10K and Puppetfile rake tasks
165
164
  email:
166
165
  - voxpupuli@groups.io
@@ -169,6 +168,7 @@ extensions: []
169
168
  extra_rdoc_files: []
170
169
  files:
171
170
  - ".github/dependabot.yml"
171
+ - ".github/release.yml"
172
172
  - ".github/workflows/release.yml"
173
173
  - ".github/workflows/test.yml"
174
174
  - ".gitignore"
@@ -220,7 +220,6 @@ homepage: https://github.com/voxpupuli/ra10ke
220
220
  licenses:
221
221
  - MIT
222
222
  metadata: {}
223
- post_install_message:
224
223
  rdoc_options: []
225
224
  require_paths:
226
225
  - lib
@@ -235,8 +234,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
235
234
  - !ruby/object:Gem::Version
236
235
  version: '0'
237
236
  requirements: []
238
- rubygems_version: 3.5.22
239
- signing_key:
237
+ rubygems_version: 3.6.9
240
238
  specification_version: 4
241
239
  summary: Syntax check for the Puppetfile, check for outdated installed puppet modules
242
240
  test_files: []