puppetlabs-onceover-codequality 1.2.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 0521dac6233c7ba6340184f694461a7e5f4cd2060aa104f4bed52dcf7fa32a9d
4
+ data.tar.gz: b70b2cdf00e6b405cfc4287946118f7f9676ada45fc41a9d71a10c72720eaeca
5
+ SHA512:
6
+ metadata.gz: 7d5f3083de638e3852cca052f375b562d89302bb006342fec56e6e06cbb1ad7998a6e36cf7195c6dc19b43a75751017d0afdb16432ac63f6c081e86794c7e64b
7
+ data.tar.gz: c745faa872c2fc99cf970b49babcc9861be87b6611659bddccdd5682c1b53c21f8fa78ac0b207afc95c865166220a7cfcb31feb6f977aa7d48e5c71081d36920
@@ -0,0 +1,81 @@
1
+ name: "ci"
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - "main"
7
+ pull_request:
8
+ branches:
9
+ - "main"
10
+ workflow_dispatch:
11
+
12
+ env:
13
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
14
+
15
+ jobs:
16
+ spec:
17
+ strategy:
18
+ fail-fast: false
19
+ matrix:
20
+ ruby_version:
21
+ - "3.2"
22
+ - "4.0"
23
+ include:
24
+ - ruby_version: "3.2"
25
+ puppet_gem_version: "~> 8.0"
26
+ - ruby_version: "4.0"
27
+ puppet_gem_version: "~> 9.0"
28
+ runs_on:
29
+ - "ubuntu-latest"
30
+ - "macos-latest"
31
+ - "ubuntu-24.04-arm"
32
+ # NOTE: windows-latest is a separate, bespoke job below, not part of this
33
+ # matrix -- see that job for why.
34
+ name: "spec (${{ matrix.runs_on }} ruby ${{ matrix.ruby_version }} | puppet ${{ matrix.puppet_gem_version }})"
35
+ uses: "puppetlabs/cat-github-actions/.github/workflows/gem_ci.yml@main"
36
+ secrets: "inherit"
37
+ with:
38
+ rake_task: "spec"
39
+ ruby_version: ${{ matrix.ruby_version }}
40
+ puppet_gem_version: ${{ matrix.puppet_gem_version }}
41
+ runs_on: ${{ matrix.runs_on }}
42
+
43
+ spec-windows:
44
+ # windows-latest can't use the shared gem_ci.yml: that reusable workflow
45
+ # does its own checkout internally, with no hook to set the long-paths
46
+ # registry key before r10k's test fixtures get cloned into a deeply
47
+ # nested temp path. This repo's own fixtures (e.g. puppetlabs-cron_core's
48
+ # acceptance specs) are long enough that D:/a/puppetlabs-onceover/puppetlabs-onceover/...
49
+ # crosses Windows' 260-char MAX_PATH without it -- confirmed by
50
+ # reproduction, not assumed.
51
+ strategy:
52
+ fail-fast: false
53
+ matrix:
54
+ ruby_version:
55
+ - "3.2"
56
+ - "4.0"
57
+ include:
58
+ - ruby_version: "3.2"
59
+ puppet_gem_version: "~> 8.0"
60
+ - ruby_version: "4.0"
61
+ puppet_gem_version: "~> 9.0"
62
+ name: "spec (windows-latest ruby ${{ matrix.ruby_version }} | puppet ${{ matrix.puppet_gem_version }})"
63
+ runs-on: "windows-latest"
64
+ env:
65
+ PUPPET_GEM_VERSION: ${{ matrix.puppet_gem_version }}
66
+ PUPPET_FORGE_TOKEN: ${{ secrets.PUPPET_FORGE_TOKEN || secrets.PUPPET_FORGE_TOKEN_PUBLIC }}
67
+ BUNDLE_RUBYGEMS___PUPPETCORE__PUPPET__COM: "forge-key:${{ secrets.PUPPET_FORGE_TOKEN || secrets.PUPPET_FORGE_TOKEN_PUBLIC }}"
68
+ steps:
69
+ - uses: "actions/checkout@v4"
70
+ - uses: "ruby/setup-ruby@v1"
71
+ with:
72
+ ruby-version: ${{ matrix.ruby_version }}
73
+ bundler-cache: true
74
+ - name: "Enable Windows long paths"
75
+ run: |
76
+ Set-ItemProperty 'HKLM:\System\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -value 1
77
+ git config --global core.longpaths true
78
+ - name: "rubocop"
79
+ run: bundle exec rubocop --format github
80
+ - name: "spec"
81
+ run: bundle exec rake spec
@@ -0,0 +1,14 @@
1
+ name: "mend"
2
+
3
+ on:
4
+ pull_request:
5
+ branches:
6
+ - "main"
7
+ schedule:
8
+ - cron: "0 0 * * *"
9
+ workflow_dispatch:
10
+
11
+ jobs:
12
+ mend:
13
+ uses: "puppetlabs/cat-github-actions/.github/workflows/tooling_mend_ruby.yml@main"
14
+ secrets: "inherit"
@@ -0,0 +1,66 @@
1
+ name: "nightly"
2
+
3
+ on:
4
+ schedule:
5
+ - cron: "0 0 * * *"
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ spec:
10
+ strategy:
11
+ fail-fast: false
12
+ matrix:
13
+ ruby_version:
14
+ - "3.2"
15
+ - "4.0"
16
+ include:
17
+ - ruby_version: "3.2"
18
+ puppet_gem_version: "~> 8.0"
19
+ - ruby_version: "4.0"
20
+ puppet_gem_version: "~> 9.0"
21
+ runs_on:
22
+ - "ubuntu-latest"
23
+ - "macos-latest"
24
+ - "ubuntu-24.04-arm"
25
+ # See ci.yml's spec-windows job for why windows-latest isn't in this matrix.
26
+ name: "spec (${{ matrix.runs_on }} ruby ${{ matrix.ruby_version }} | puppet ${{ matrix.puppet_gem_version }})"
27
+ uses: "puppetlabs/cat-github-actions/.github/workflows/gem_ci.yml@main"
28
+ secrets: "inherit"
29
+ with:
30
+ rake_task: "spec"
31
+ ruby_version: ${{ matrix.ruby_version }}
32
+ puppet_gem_version: ${{ matrix.puppet_gem_version }}
33
+ runs_on: ${{ matrix.runs_on }}
34
+
35
+ spec-windows:
36
+ strategy:
37
+ fail-fast: false
38
+ matrix:
39
+ ruby_version:
40
+ - "3.2"
41
+ - "4.0"
42
+ include:
43
+ - ruby_version: "3.2"
44
+ puppet_gem_version: "~> 8.0"
45
+ - ruby_version: "4.0"
46
+ puppet_gem_version: "~> 9.0"
47
+ name: "spec (windows-latest ruby ${{ matrix.ruby_version }} | puppet ${{ matrix.puppet_gem_version }})"
48
+ runs-on: "windows-latest"
49
+ env:
50
+ PUPPET_GEM_VERSION: ${{ matrix.puppet_gem_version }}
51
+ PUPPET_FORGE_TOKEN: ${{ secrets.PUPPET_FORGE_TOKEN || secrets.PUPPET_FORGE_TOKEN_PUBLIC }}
52
+ BUNDLE_RUBYGEMS___PUPPETCORE__PUPPET__COM: "forge-key:${{ secrets.PUPPET_FORGE_TOKEN || secrets.PUPPET_FORGE_TOKEN_PUBLIC }}"
53
+ steps:
54
+ - uses: "actions/checkout@v4"
55
+ - uses: "ruby/setup-ruby@v1"
56
+ with:
57
+ ruby-version: ${{ matrix.ruby_version }}
58
+ bundler-cache: true
59
+ - name: "Enable Windows long paths"
60
+ run: |
61
+ Set-ItemProperty 'HKLM:\System\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -value 1
62
+ git config --global core.longpaths true
63
+ - name: "rubocop"
64
+ run: bundle exec rubocop --format github
65
+ - name: "spec"
66
+ run: bundle exec rake spec
@@ -0,0 +1,16 @@
1
+ name: "release"
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ target:
7
+ description: "The target for the release. This can be a commit sha or a branch."
8
+ required: false
9
+ default: "main"
10
+
11
+ jobs:
12
+ release:
13
+ uses: "puppetlabs/cat-github-actions/.github/workflows/gem_release.yml@main"
14
+ with:
15
+ target: "${{ github.event.inputs.target }}"
16
+ secrets: "inherit"
@@ -0,0 +1,20 @@
1
+ name: "release prep"
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ target:
7
+ description: "The target for the release. This can be a commit sha or a branch."
8
+ required: false
9
+ default: "main"
10
+ version:
11
+ description: "Version of gem to be released."
12
+ required: true
13
+
14
+ jobs:
15
+ release_prep:
16
+ uses: "puppetlabs/cat-github-actions/.github/workflows/gem_release_prep.yml@main"
17
+ with:
18
+ target: "${{ github.event.inputs.target }}"
19
+ version: "${{ github.event.inputs.version }}"
20
+ secrets: "inherit"
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ .bundle/
2
+ .idea/
3
+ .rspec_status
4
+ .vendor/
5
+ mise.toml
6
+ *.gem
7
+ **/.yardoc
8
+ **/REFERENCE.md
9
+ /_yardoc/
10
+ /coverage/
11
+ /doc/
12
+ /pkg/
13
+ /spec/reports/
14
+ /spec/testcase/**/doc
15
+ /tmp/
16
+ Gemfile.lock
17
+ vendor/
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.rubocop.yml ADDED
@@ -0,0 +1,12 @@
1
+ ---
2
+ inherit_from: .rubocop_todo.yml
3
+
4
+ AllCops:
5
+ NewCops: enable
6
+ DisplayCopNames: true
7
+ ExtraDetails: true
8
+ DisplayStyleGuide: true
9
+ TargetRubyVersion: 3.2
10
+ Exclude:
11
+ - vendor/**/*
12
+ - .vendor/**/*
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,284 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2025-07-11 08:55:24 UTC using RuboCop version 1.50.2.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 1
10
+ # This cop supports safe autocorrection (--autocorrect).
11
+ # Configuration parameters: Severity, Include.
12
+ # Include: **/*.gemspec
13
+ Gemspec/RequireMFA:
14
+ Exclude:
15
+ - 'puppetlabs-onceover-codequality.gemspec'
16
+
17
+ # Offense count: 5
18
+ # This cop supports safe autocorrection (--autocorrect).
19
+ Lint/AmbiguousRegexpLiteral:
20
+ Exclude:
21
+ - 'spec/puppetlabs-onceover/environment_spec.rb'
22
+ - 'spec/puppetlabs-onceover/lint_spec.rb'
23
+ - 'spec/puppetlabs-onceover/puppetfile_spec.rb'
24
+ - 'spec/puppetlabs-onceover/syntax_spec.rb'
25
+
26
+ # Offense count: 2
27
+ # This cop supports safe autocorrection (--autocorrect).
28
+ # Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
29
+ Lint/UnusedBlockArgument:
30
+ Exclude:
31
+ - 'lib/puppetlabs-onceover/codequality/cli.rb'
32
+
33
+ # Offense count: 1
34
+ Lint/UselessAssignment:
35
+ Exclude:
36
+ - 'lib/puppetlabs-onceover/codequality/environment.rb'
37
+
38
+ # Offense count: 2
39
+ # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
40
+ Metrics/AbcSize:
41
+ Max: 38
42
+
43
+ # Offense count: 2
44
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
45
+ # AllowedMethods: refine
46
+ Metrics/BlockLength:
47
+ Max: 38
48
+
49
+ # Offense count: 2
50
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
51
+ Metrics/CyclomaticComplexity:
52
+ Max: 12
53
+
54
+ # Offense count: 5
55
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
56
+ Metrics/MethodLength:
57
+ Max: 40
58
+
59
+ # Offense count: 2
60
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
61
+ Metrics/PerceivedComplexity:
62
+ Max: 13
63
+
64
+ # Offense count: 1
65
+ Naming/AccessorMethodName:
66
+ Exclude:
67
+ - 'lib/puppetlabs-onceover/codequality/environment.rb'
68
+
69
+ # Offense count: 1
70
+ # Configuration parameters: EnforcedStyleForLeadingUnderscores.
71
+ # SupportedStylesForLeadingUnderscores: disallowed, required, optional
72
+ Naming/MemoizedInstanceVariableName:
73
+ Exclude:
74
+ - 'lib/puppetlabs-onceover/codequality/cli.rb'
75
+
76
+ # Offense count: 1
77
+ # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
78
+ # AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to
79
+ Naming/MethodParameterName:
80
+ Exclude:
81
+ - 'lib/puppetlabs-onceover/codequality/formatter.rb'
82
+
83
+ # Offense count: 1
84
+ Security/Open:
85
+ Exclude:
86
+ - 'lib/puppetlabs-onceover/codequality/environment.rb'
87
+
88
+ # Offense count: 7
89
+ # This cop supports safe autocorrection (--autocorrect).
90
+ # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, AllowedMethods, AllowedPatterns, AllowBracesOnProceduralOneLiners, BracesRequiredMethods.
91
+ # SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
92
+ # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
93
+ # FunctionalMethods: let, let!, subject, watch
94
+ # AllowedMethods: lambda, proc, it
95
+ Style/BlockDelimiters:
96
+ Exclude:
97
+ - 'lib/puppetlabs-onceover/codequality/docs.rb'
98
+ - 'lib/puppetlabs-onceover/codequality/environment.rb'
99
+ - 'lib/puppetlabs-onceover/codequality/lint.rb'
100
+
101
+ # Offense count: 1
102
+ # This cop supports safe autocorrection (--autocorrect).
103
+ # Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
104
+ # SupportedStyles: assign_to_condition, assign_inside_condition
105
+ Style/ConditionalAssignment:
106
+ Exclude:
107
+ - 'lib/puppetlabs-onceover/codequality/lint.rb'
108
+
109
+ # Offense count: 1
110
+ # This cop supports safe autocorrection (--autocorrect).
111
+ Style/DefWithParentheses:
112
+ Exclude:
113
+ - 'lib/puppetlabs-onceover/codequality/environment.rb'
114
+
115
+ # Offense count: 9
116
+ # Configuration parameters: AllowedConstants.
117
+ Style/Documentation:
118
+ Exclude:
119
+ - 'spec/**/*'
120
+ - 'test/**/*'
121
+ - 'lib/puppetlabs-onceover/codequality.rb'
122
+ - 'lib/puppetlabs-onceover/codequality/cli.rb'
123
+ - 'lib/puppetlabs-onceover/codequality/docs.rb'
124
+ - 'lib/puppetlabs-onceover/codequality/environment.rb'
125
+ - 'lib/puppetlabs-onceover/codequality/executor.rb'
126
+ - 'lib/puppetlabs-onceover/codequality/formatter.rb'
127
+ - 'lib/puppetlabs-onceover/codequality/lint.rb'
128
+ - 'lib/puppetlabs-onceover/codequality/puppetfile.rb'
129
+ - 'lib/puppetlabs-onceover/codequality/syntax.rb'
130
+
131
+ # Offense count: 1
132
+ # This cop supports safe autocorrection (--autocorrect).
133
+ Style/Encoding:
134
+ Exclude:
135
+ - 'puppetlabs-onceover-codequality.gemspec'
136
+
137
+ # Offense count: 1
138
+ # This cop supports safe autocorrection (--autocorrect).
139
+ Style/ExpandPathArguments:
140
+ Exclude:
141
+ - 'puppetlabs-onceover-codequality.gemspec'
142
+
143
+ # Offense count: 22
144
+ # This cop supports unsafe autocorrection (--autocorrect-all).
145
+ # Configuration parameters: EnforcedStyle.
146
+ # SupportedStyles: always, always_true, never
147
+ Style/FrozenStringLiteralComment:
148
+ Enabled: false
149
+
150
+ # Offense count: 6
151
+ # Configuration parameters: AllowedVariables.
152
+ Style/GlobalVars:
153
+ Exclude:
154
+ - 'spec/puppetlabs-onceover/lint_spec.rb'
155
+ - 'spec/puppetlabs-onceover/puppetfile_spec.rb'
156
+ - 'spec/puppetlabs-onceover/syntax_spec.rb'
157
+
158
+ # Offense count: 1
159
+ # This cop supports safe autocorrection (--autocorrect).
160
+ # Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
161
+ Style/GuardClause:
162
+ Exclude:
163
+ - 'lib/puppetlabs-onceover/codequality/environment.rb'
164
+
165
+ # Offense count: 11
166
+ # This cop supports safe autocorrection (--autocorrect).
167
+ # Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
168
+ # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
169
+ # SupportedShorthandSyntax: always, never, either, consistent
170
+ Style/HashSyntax:
171
+ Exclude:
172
+ - 'Rakefile'
173
+ - 'lib/puppetlabs-onceover/codequality/cli.rb'
174
+ - 'lib/puppetlabs-onceover/codequality/syntax.rb'
175
+ - 'spec/testcase/bad_puppetfile/Puppetfile'
176
+ - 'spec/testcase/good_puppetfile/Puppetfile'
177
+
178
+ # Offense count: 4
179
+ # This cop supports safe autocorrection (--autocorrect).
180
+ Style/IfUnlessModifier:
181
+ Exclude:
182
+ - 'lib/puppetlabs-onceover/codequality/cli.rb'
183
+
184
+ # Offense count: 6
185
+ # This cop supports safe autocorrection (--autocorrect).
186
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
187
+ Style/MethodCallWithoutArgsParentheses:
188
+ Exclude:
189
+ - 'spec/puppetlabs-onceover/environment_spec.rb'
190
+
191
+ # Offense count: 1
192
+ Style/MultilineBlockChain:
193
+ Exclude:
194
+ - 'lib/puppetlabs-onceover/codequality/environment.rb'
195
+
196
+ # Offense count: 2
197
+ # This cop supports unsafe autocorrection (--autocorrect-all).
198
+ # Configuration parameters: EnforcedStyle.
199
+ # SupportedStyles: literals, strict
200
+ Style/MutableConstant:
201
+ Exclude:
202
+ - 'lib/puppetlabs-onceover/codequality/environment.rb'
203
+ - 'lib/puppetlabs-onceover/codequality/lint.rb'
204
+
205
+ # Offense count: 4
206
+ # This cop supports safe autocorrection (--autocorrect).
207
+ # Configuration parameters: EnforcedStyle.
208
+ # SupportedStyles: both, prefix, postfix
209
+ Style/NegatedIf:
210
+ Exclude:
211
+ - 'lib/puppetlabs-onceover/codequality/cli.rb'
212
+
213
+ # Offense count: 1
214
+ # This cop supports safe autocorrection (--autocorrect).
215
+ Style/NegatedIfElseCondition:
216
+ Exclude:
217
+ - 'lib/puppetlabs-onceover/codequality/lint.rb'
218
+
219
+ # Offense count: 2
220
+ # This cop supports safe autocorrection (--autocorrect).
221
+ # Configuration parameters: EnforcedStyle, MinBodyLength.
222
+ # SupportedStyles: skip_modifier_ifs, always
223
+ Style/Next:
224
+ Exclude:
225
+ - 'lib/puppetlabs-onceover/codequality/docs.rb'
226
+ - 'lib/puppetlabs-onceover/codequality/lint.rb'
227
+
228
+ # Offense count: 1
229
+ # Configuration parameters: AllowedMethods.
230
+ # AllowedMethods: respond_to_missing?
231
+ Style/OptionalBooleanParameter:
232
+ Exclude:
233
+ - 'lib/puppetlabs-onceover/codequality/formatter.rb'
234
+
235
+ # Offense count: 1
236
+ # This cop supports safe autocorrection (--autocorrect).
237
+ # Configuration parameters: PreferredDelimiters.
238
+ Style/PercentLiteralDelimiters:
239
+ Exclude:
240
+ - 'puppetlabs-onceover-codequality.gemspec'
241
+
242
+ # Offense count: 1
243
+ # This cop supports safe autocorrection (--autocorrect).
244
+ Style/RedundantPercentQ:
245
+ Exclude:
246
+ - 'puppetlabs-onceover-codequality.gemspec'
247
+
248
+ # Offense count: 1
249
+ # This cop supports safe autocorrection (--autocorrect).
250
+ # Configuration parameters: AllowMultipleReturnValues.
251
+ Style/RedundantReturn:
252
+ Exclude:
253
+ - 'lib/puppetlabs-onceover/codequality/executor.rb'
254
+
255
+ # Offense count: 1
256
+ # This cop supports safe autocorrection (--autocorrect).
257
+ # Configuration parameters: EnforcedStyle, AllowInnerSlashes.
258
+ # SupportedStyles: slashes, percent_r, mixed
259
+ Style/RegexpLiteral:
260
+ Exclude:
261
+ - 'lib/puppetlabs-onceover/codequality/environment.rb'
262
+
263
+ # Offense count: 119
264
+ # This cop supports safe autocorrection (--autocorrect).
265
+ # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
266
+ # SupportedStyles: single_quotes, double_quotes
267
+ Style/StringLiterals:
268
+ Enabled: false
269
+
270
+ # Offense count: 1
271
+ # This cop supports unsafe autocorrection (--autocorrect-all).
272
+ # Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments.
273
+ # AllowedMethods: define_method
274
+ Style/SymbolProc:
275
+ Exclude:
276
+ - 'lib/puppetlabs-onceover/codequality/environment.rb'
277
+
278
+ # Offense count: 2
279
+ # This cop supports safe autocorrection (--autocorrect).
280
+ # Configuration parameters: EnforcedStyleForMultiline.
281
+ # SupportedStylesForMultiline: comma, consistent_comma, no_comma
282
+ Style/TrailingCommaInArrayLiteral:
283
+ Exclude:
284
+ - 'lib/puppetlabs-onceover/codequality/lint.rb'