theforeman-rubocop 0.0.6 → 0.1.2
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/workflows/gem-push.yml +6 -39
- data/README.md +2 -0
- data/default.yml +2 -0
- data/docs/github_action.md +51 -0
- data/lenient.yml +1 -0
- data/lib/theforeman/rubocop/version.rb +1 -1
- data/rules/minitest.yml +3 -0
- data/rules/minitest_lenient.yml +2 -0
- data/rules/style_lenient.yml +9 -0
- data/rules/to_decide.yml +3 -0
- data/strict.yml +2 -1
- data/theforeman-rubocop.gemspec +5 -4
- metadata +28 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e9eb8f575e916fcab0745eb7276223aa6dcb811a15d07c2060797c5f39052f7
|
4
|
+
data.tar.gz: 036dd53d4ef286f78a8e19a516943760a7d639b2802001fc1dac4a0d01d60c9a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3de58bbbb56e96a03f537a33c06584db876f9c6d6afacc8425925f2958e5eed0ec6b0c51b92463d77c81cd43179cd3b957618cd96ad36ee7fc8adaef492a58c
|
7
|
+
data.tar.gz: 5b15ed628bfce839978f14afd07a2c854c273f520633c4819796851aa074f13c135f50d8c2aee62bf01007c04fb948a1413038c9ca20e7a33b818db30571736f
|
@@ -1,50 +1,17 @@
|
|
1
1
|
name: Publish RubyGem
|
2
2
|
|
3
3
|
on:
|
4
|
-
|
5
|
-
|
4
|
+
create:
|
5
|
+
tags:
|
6
|
+
- v*
|
6
7
|
|
7
8
|
jobs:
|
8
|
-
publish_ghp:
|
9
|
-
name: Build + Publish on GHP
|
10
|
-
runs-on: ubuntu-latest
|
11
|
-
|
12
|
-
steps:
|
13
|
-
- uses: actions/checkout@v2
|
14
|
-
- name: Set up Ruby 2.6
|
15
|
-
uses: actions/setup-ruby@v1
|
16
|
-
with:
|
17
|
-
ruby-version: 2.6.x
|
18
|
-
|
19
|
-
- run: gem build *.gemspec
|
20
|
-
- name: Publish to GPR
|
21
|
-
run: |
|
22
|
-
mkdir -p $HOME/.gem
|
23
|
-
touch $HOME/.gem/credentials
|
24
|
-
chmod 0600 $HOME/.gem/credentials
|
25
|
-
printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
26
|
-
gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
|
27
|
-
env:
|
28
|
-
GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}"
|
29
|
-
OWNER: ${{ github.repository_owner }}
|
30
|
-
|
31
9
|
publish_rubygems:
|
32
10
|
name: Build + Publish on RubyGems
|
33
11
|
runs-on: ubuntu-latest
|
34
12
|
steps:
|
35
13
|
- uses: actions/checkout@v2
|
36
|
-
- name: Set up Ruby 2.6
|
37
|
-
uses: actions/setup-ruby@v1
|
38
|
-
with:
|
39
|
-
ruby-version: 2.6.x
|
40
|
-
|
41
|
-
- run: gem build *.gemspec
|
42
14
|
- name: Publish to RubyGems
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
chmod 0600 $HOME/.gem/credentials
|
47
|
-
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
48
|
-
gem push *.gem
|
49
|
-
env:
|
50
|
-
GEM_HOST_API_KEY: "Bearer ${{secrets.RUBYGEM_API_KEY}}"
|
15
|
+
uses: dawidd6/action-publish-gem@v1
|
16
|
+
with:
|
17
|
+
api_key: ${{secrets.RUBYGEM_API_KEY}}
|
data/README.md
CHANGED
data/default.yml
CHANGED
@@ -0,0 +1,51 @@
|
|
1
|
+
# How to run RuboCop in GH action
|
2
|
+
|
3
|
+
## Foreman plugin
|
4
|
+
|
5
|
+
We will cover how to do use this in Foreman plugin. It should work for any rubygem the same tho.
|
6
|
+
|
7
|
+
Rubocop doesn't benefit from running in the full Foreman environment so it is actually better to have own dependency in Gemfile on it.
|
8
|
+
We are then able to run the rubocop directly in the plugin folder, which is much faster as we install only the plugin dependencies, not the full foreman dependencies.
|
9
|
+
|
10
|
+
In theory, you can just `gem install theforeman-foreman` in the action, but it is discouraged as it is then hard to synchronize what version you use in the CI.
|
11
|
+
|
12
|
+
### Plugin `Gemfile`
|
13
|
+
|
14
|
+
```ruby
|
15
|
+
source 'https://rubygems.org'
|
16
|
+
gemspec
|
17
|
+
|
18
|
+
# We use special group rubocop so we can opt out from all dependencies but rubocop.
|
19
|
+
gem 'theforeman-rubocop', '~> 0.1.0', groups: %i[development rubocop]
|
20
|
+
```
|
21
|
+
|
22
|
+
### GH action
|
23
|
+
|
24
|
+
Following GH action will run
|
25
|
+
|
26
|
+
```yaml
|
27
|
+
name: Ruby Testing
|
28
|
+
on:
|
29
|
+
pull_request:
|
30
|
+
push:
|
31
|
+
branches:
|
32
|
+
- master
|
33
|
+
jobs:
|
34
|
+
rubocop:
|
35
|
+
runs-on: ubuntu-latest
|
36
|
+
env:
|
37
|
+
BUNDLE_WITHOUT: development:test
|
38
|
+
steps:
|
39
|
+
- uses: actions/checkout@v2
|
40
|
+
- name: Setup Ruby
|
41
|
+
uses: ruby/setup-ruby@v1
|
42
|
+
with:
|
43
|
+
ruby-version: 2.7 # Currently supported ruby verion
|
44
|
+
bundler-cache: true
|
45
|
+
- name: Run rubocop
|
46
|
+
run: bundle exec rubocop -P --format github
|
47
|
+
view_specs:
|
48
|
+
runs-on: ubuntu-latest
|
49
|
+
needs: rubocop
|
50
|
+
# .... Whatever you run as tests if you run them in GH actions
|
51
|
+
```
|
data/lenient.yml
CHANGED
data/rules/minitest.yml
CHANGED
data/rules/style_lenient.yml
CHANGED
@@ -1,7 +1,13 @@
|
|
1
|
+
Naming/VariableNumber:
|
2
|
+
Enabled: false
|
3
|
+
|
1
4
|
# Don't prefer is_a? over kind_of?
|
2
5
|
Style/ClassCheck:
|
3
6
|
Enabled: false
|
4
7
|
|
8
|
+
Style/HashAsLastArrayItem:
|
9
|
+
Enabled: false
|
10
|
+
|
5
11
|
# Support both, Ruby 1.9 hashmap and hash-rocket syntax
|
6
12
|
Style/HashSyntax:
|
7
13
|
EnforcedStyle: no_mixed_keys
|
@@ -14,6 +20,9 @@ Style/LineEndConcatenation:
|
|
14
20
|
Style/StringLiterals:
|
15
21
|
Enabled: false
|
16
22
|
|
23
|
+
Style/StringConcatenation:
|
24
|
+
Enabled: false
|
25
|
+
|
17
26
|
Style/SymbolArray:
|
18
27
|
EnforcedStyle: brackets
|
19
28
|
MinSize: 1
|
data/rules/to_decide.yml
ADDED
data/strict.yml
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
inherit_from:
|
2
2
|
- rules/base.yml
|
3
|
+
- rules/ruby_target.yml
|
3
4
|
- rules/style.yml
|
4
5
|
- rules/performance.yml
|
5
6
|
- rules/metrics.yml
|
6
|
-
- rules/ruby_target.yml
|
7
7
|
- rules/rails.yml
|
8
8
|
- rules/minitest.yml
|
9
|
+
- rules/to_decide.yml
|
9
10
|
|
10
11
|
AllCops:
|
11
12
|
NewCops: disable
|
data/theforeman-rubocop.gemspec
CHANGED
@@ -20,12 +20,13 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
21
|
spec.require_paths = ['lib']
|
22
22
|
|
23
|
-
spec.add_dependency 'rubocop', '~>
|
23
|
+
spec.add_dependency 'rubocop', '~> 1.23.0'
|
24
24
|
spec.add_dependency 'rubocop-checkstyle_formatter', '~> 0.4.0'
|
25
|
-
spec.add_dependency 'rubocop-rspec', '~>
|
26
|
-
spec.add_dependency 'rubocop-minitest', '~> 0.
|
25
|
+
spec.add_dependency 'rubocop-rspec', '~> 2.0'
|
26
|
+
spec.add_dependency 'rubocop-minitest', '~> 0.17.0'
|
27
27
|
spec.add_dependency 'rubocop-performance', '~> 1.8.1'
|
28
|
-
spec.add_dependency 'rubocop-rails', '~> 2.
|
28
|
+
spec.add_dependency 'rubocop-rails', '~> 2.12.4'
|
29
|
+
spec.add_dependency 'rubocop-graphql', '~> 0.11.2'
|
29
30
|
spec.add_development_dependency 'bundler', '~> 2.1'
|
30
31
|
spec.add_development_dependency 'rake', '~> 13.0'
|
31
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: theforeman-rubocop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ondřej Ezr
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-12-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.23.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.23.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rubocop-checkstyle_formatter
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,28 +44,28 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '2.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '2.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rubocop-minitest
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.17.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.17.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rubocop-performance
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,14 +86,28 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 2.
|
89
|
+
version: 2.12.4
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 2.
|
96
|
+
version: 2.12.4
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rubocop-graphql
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.11.2
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.11.2
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: bundler
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -133,17 +147,20 @@ files:
|
|
133
147
|
- AUTHORS
|
134
148
|
- README.md
|
135
149
|
- default.yml
|
150
|
+
- docs/github_action.md
|
136
151
|
- lenient.yml
|
137
152
|
- lib/theforeman/rubocop/version.rb
|
138
153
|
- minitest.yml
|
139
154
|
- rules/base.yml
|
140
155
|
- rules/metrics.yml
|
141
156
|
- rules/minitest.yml
|
157
|
+
- rules/minitest_lenient.yml
|
142
158
|
- rules/performance.yml
|
143
159
|
- rules/rails.yml
|
144
160
|
- rules/ruby_target.yml
|
145
161
|
- rules/style.yml
|
146
162
|
- rules/style_lenient.yml
|
163
|
+
- rules/to_decide.yml
|
147
164
|
- strict.yml
|
148
165
|
- strictest.yml
|
149
166
|
- theforeman-rubocop.gemspec
|
@@ -165,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
182
|
- !ruby/object:Gem::Version
|
166
183
|
version: '0'
|
167
184
|
requirements: []
|
168
|
-
rubygems_version: 3.1.
|
185
|
+
rubygems_version: 3.1.2
|
169
186
|
signing_key:
|
170
187
|
specification_version: 4
|
171
188
|
summary: Shared Rubocop configuration for theforeman.org family of projects.
|