git-lint 1.0.1 → 1.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
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +3 -2
- data/LICENSE.adoc +1 -1
- data/README.adoc +103 -34
- data/lib/git/lint.rb +1 -0
- data/lib/git/lint/analyzers/abstract.rb +1 -0
- data/lib/git/lint/analyzers/commit_body_bullet_delimiter.rb +5 -1
- data/lib/git/lint/analyzers/commit_body_leading_line.rb +2 -1
- data/lib/git/lint/branches/environments/git_hub_action.rb +28 -0
- data/lib/git/lint/branches/feature.rb +1 -0
- data/lib/git/lint/identity.rb +1 -1
- metadata +8 -189
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6cb65f70f2b6923d02f717470a175b4a12f4aadf8f138ce2687ebdd73be3d300
|
4
|
+
data.tar.gz: 69a3dae72502594bd98c0397c29431bbfa4479fc6b5cebe8e76ce4149505085d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 516084aa71ca86ec7fb5b4acbbc5eac343d6c4d44cc01ea8742c7882a3c203bafb9108fa788f0a00c4874bca40e810080b9b84d5d3ae583585e6efdef8166eb2
|
7
|
+
data.tar.gz: 1dbdb7ecf79311784ef01ede90695df2093fbd7d43b918e39d6bb596843bbaa87d6df59a8f57a901a8fdfb4cc5a935d92d7ad69bdde5f24ba0859f8d5efdb92f
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
@@ -1,2 +1,3 @@
|
|
1
|
-
|
2
|
-
�
|
1
|
+
��)�*4�>{��K��O��B
|
2
|
+
m����8��Tsb��j�Ҹ���~���댙k}H�� �2?��H�]�Xq> Pa�wN�Vv��T��X㥇���Bı���jz8��;�
|
3
|
+
�Kؗ��*o4ؿ�b�wNN�����p}֎@�",�b�\�3�EN̅�L�*j��O���b}�ӅM9��ěe H�˳�P
|
data/LICENSE.adoc
CHANGED
@@ -150,7 +150,7 @@ additional liability.
|
|
150
150
|
|
151
151
|
END OF TERMS AND CONDITIONS
|
152
152
|
|
153
|
-
Copyright link:https://www.alchemists.io[
|
153
|
+
Copyright 2020 link:https://www.alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann].
|
154
154
|
|
155
155
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
|
156
156
|
compliance with the License. You may obtain a link:https://www.apache.org/licenses/LICENSE-2.0[copy]
|
data/README.adoc
CHANGED
@@ -8,6 +8,8 @@
|
|
8
8
|
|
9
9
|
[link=http://badge.fury.io/rb/git-lint]
|
10
10
|
image::https://badge.fury.io/rb/git-lint.svg[Gem Version]
|
11
|
+
[link=https://www.alchemists.io/projects/code_quality]
|
12
|
+
image::https://img.shields.io/badge/code_style-alchemists-brightgreen.svg[Alchemists Style Guide]
|
11
13
|
[link=https://circleci.com/gh/bkuhlmann/git-lint]
|
12
14
|
image::https://circleci.com/gh/bkuhlmann/git-lint.svg?style=svg[Circle CI Status]
|
13
15
|
|
@@ -45,8 +47,6 @@ image::https://www.alchemists.io/images/screencasts/git_lint/cover.svg[Screencas
|
|
45
47
|
|
46
48
|
== Setup
|
47
49
|
|
48
|
-
=== Production
|
49
|
-
|
50
50
|
To install, run:
|
51
51
|
|
52
52
|
[source,bash]
|
@@ -54,24 +54,6 @@ To install, run:
|
|
54
54
|
gem install git-lint
|
55
55
|
----
|
56
56
|
|
57
|
-
=== Development
|
58
|
-
|
59
|
-
To contribute, run:
|
60
|
-
|
61
|
-
[source,bash]
|
62
|
-
----
|
63
|
-
git clone https://github.com/bkuhlmann/git-lint.git
|
64
|
-
cd git-lint
|
65
|
-
bin/setup
|
66
|
-
----
|
67
|
-
|
68
|
-
You can also use the IRB console for direct access to all objects:
|
69
|
-
|
70
|
-
[source,bash]
|
71
|
-
----
|
72
|
-
bin/console
|
73
|
-
----
|
74
|
-
|
75
57
|
== Usage
|
76
58
|
|
77
59
|
=== Command Line Interface (CLI)
|
@@ -171,7 +153,7 @@ variables. The default configuration is:
|
|
171
153
|
:severity: :error
|
172
154
|
:includes: "\\-"
|
173
155
|
:commit_body_issue_tracker_link:
|
174
|
-
:enabled: true
|
156
|
+
:enabled: true
|
175
157
|
:severity: :error
|
176
158
|
:excludes:
|
177
159
|
- "(f|F)ix(es|ed)?\\s\\#\\d+"
|
@@ -403,6 +385,36 @@ from `master`.
|
|
403
385
|
Detection and configuration happens automatically by checking the `CIRCLECI` environment variable.
|
404
386
|
No additional setup required!
|
405
387
|
|
388
|
+
==== link:https://docs.github.com/en/free-pro-team@latest/actions[GitHub Actions]
|
389
|
+
|
390
|
+
Detection happens automatically by checking the `GITHUB_ACTIONS` environment variable as supplied by
|
391
|
+
the GitHub environment. The only configuration required is to add a `.github/workflows/git_lint.yml`
|
392
|
+
to your repository with the following contents:
|
393
|
+
|
394
|
+
[source,yaml]
|
395
|
+
----
|
396
|
+
name: Git Lint
|
397
|
+
|
398
|
+
on: pull_request
|
399
|
+
|
400
|
+
jobs:
|
401
|
+
run:
|
402
|
+
runs-on: ubuntu-latest
|
403
|
+
container:
|
404
|
+
image: ruby:latest
|
405
|
+
steps:
|
406
|
+
- uses: actions/checkout@v2
|
407
|
+
with:
|
408
|
+
fetch-depth: '0'
|
409
|
+
ref: ${{github.head_ref}}
|
410
|
+
- name: Install
|
411
|
+
run: gem install git-lint
|
412
|
+
- name: Analyze
|
413
|
+
run: git-lint --analyze
|
414
|
+
----
|
415
|
+
|
416
|
+
The above will ensure Git Lint runs as an additional check on each Pull Request.
|
417
|
+
|
406
418
|
==== link:https://www.netlify.com[Netlify CI]
|
407
419
|
|
408
420
|
Detection and configuration happens automatically by checking the `NETLIFY` environment variable. No
|
@@ -869,13 +881,30 @@ worth considering:
|
|
869
881
|
* Avoid using link:https://git-scm.com/book/en/v2/Git-Tools-Submodules[Git Submodules]. This
|
870
882
|
practice leads to complicated project cloning, deployments, maintenance, etc. Use separate
|
871
883
|
repositories to better organize and split out this work. Sophisticated package managers, like
|
872
|
-
link:https://bundler.io[Bundler]
|
873
|
-
|
884
|
+
link:https://bundler.io[Bundler], exist to manage these dependencies better than what multiple Git
|
885
|
+
Submodules can accomplish.
|
874
886
|
* Avoid using link:https://git-lfs.github.com[Git LFS] for tracking binary artifacts/resources.
|
875
887
|
These files are not meant for version control and lead to large repositories that are time
|
876
888
|
consuming to clone/deploy. Use storage managers, like link:https://aws.amazon.com/s3[Amazon S3]
|
877
889
|
for example, that are better suited for binary assets that don't change often.
|
878
890
|
|
891
|
+
=== Security
|
892
|
+
|
893
|
+
Ensure signed commits, pushes, and tags are enabled within your global Git Configuration to reduce
|
894
|
+
an
|
895
|
+
link:https://blog.gruntwork.io/how-to-spoof-any-user-on-github-and-what-to-do-to-prevent-it-e237e95b8deb[attack
|
896
|
+
vector]. Run the following commands to enable:
|
897
|
+
|
898
|
+
[source,bash]
|
899
|
+
----
|
900
|
+
git config --global commit.gpgSign true
|
901
|
+
git config --global push.gpgSign true
|
902
|
+
git config --global tag.gpgSign true
|
903
|
+
----
|
904
|
+
|
905
|
+
⚠️ GitHub, unfortunately, doesn't support signed pushes so you might need to leave that
|
906
|
+
configuration disabled.
|
907
|
+
|
879
908
|
=== Commits
|
880
909
|
|
881
910
|
* Use a commit subject that explains _what_ is being committed.
|
@@ -886,14 +915,19 @@ worth considering:
|
|
886
915
|
* Use small, atomic commits:
|
887
916
|
** Easier to review and provide feedback.
|
888
917
|
** Easier to review implementation and corresponding tests.
|
889
|
-
** Easier to document with detailed
|
890
|
-
request).
|
918
|
+
** Easier to document with detailed subjects (especially when grouped together in a pull request).
|
891
919
|
** Easier to reword, edit, squash, fix, or drop when interactively rebasing.
|
892
920
|
** Easier to combine together versus tearing apart a larger commit into smaller commits.
|
893
921
|
* Use logically ordered commits:
|
894
922
|
** Each commit should tell a story and be a logical building block to the next commit.
|
923
|
+
** Each commit should, ideally, be the implementation plus corresponding test. Avoid committing
|
924
|
+
changes that are a jumble of mixed ideas as they are hard to decipher and a huge insult not only
|
925
|
+
to the reviewer but your future self.
|
895
926
|
** Each commit, when reviewed in order, should be able to explain _how_ the feature or bug fix was
|
896
927
|
completed and implemented properly.
|
928
|
+
* Keep refactored code separate from behavioral changes. This makes the review process easier
|
929
|
+
because you don't have to sift through all the line and format changes to figure out what is new
|
930
|
+
or changed.
|
897
931
|
|
898
932
|
=== Branches
|
899
933
|
|
@@ -927,8 +961,11 @@ worth considering:
|
|
927
961
|
|
928
962
|
=== Code Reviews
|
929
963
|
|
930
|
-
There are
|
964
|
+
There are three main objectives each code review should achieve:
|
931
965
|
|
966
|
+
. *Joy* - The experience of working with you, receiving feedback, giving feedback, and demonstrating
|
967
|
+
a level of care influences others and encourages a collaborative environment that is fun to work
|
968
|
+
in. Use this time to build and reinforce trust amongst your fellow colleagues.
|
932
969
|
. *Quality*: Ensures changes are of highest quality that adhere to team standards while enhancing
|
933
970
|
the customer experience and not disrupting their workflow.
|
934
971
|
. *Education*: Provides a chance for everyone on the team to learn more about the architecture,
|
@@ -938,13 +975,22 @@ There are two objectives each code review should achieve:
|
|
938
975
|
In addition to the objectives above, the following guidelines are worth following:
|
939
976
|
|
940
977
|
* Keep code reviews short and easy to review:
|
978
|
+
** Review your own code first before submitting to others. By ensuring your are confident in the
|
979
|
+
overall implementation and the commits in terms of commit messages and implementation details,
|
980
|
+
you'll encourage higher quality feedback and show appreciation for the reviewer's time.
|
941
981
|
** Provide a high level overview that answers _why_ the code review is necessary.
|
942
|
-
** Provide a link to the issue
|
982
|
+
** Provide a link to the issue that prompted the code review (if any) and any additional details
|
983
|
+
worth highlighting to guide the reviewer through the process.
|
943
984
|
** Provide screenshots/screencasts if possible.
|
944
|
-
**
|
945
|
-
**
|
946
|
-
|
947
|
-
|
985
|
+
** Provide any ancillary notes or points of interest worth highlighting for the reviewer.
|
986
|
+
** Ensure commits within the code review are related to the purpose of the code review and avoid
|
987
|
+
mixing in changes that are ancillary to the primary objective of the code view. If you do have
|
988
|
+
changes outside of the scope of the current code review, open those changes up as a separate code
|
989
|
+
review instead.
|
990
|
+
** Prefer code reviews at about 300 lines in order to keep the quality of the code review and defect
|
991
|
+
detection high. This also shows you value the reviewers time and attention away from their own
|
992
|
+
work.
|
993
|
+
** Avoid working on a large issues without first getting feedback in order to not overwhelm/surprise
|
948
994
|
the maintainers. More discussion up front will help ensure your work has a faster chance of
|
949
995
|
acceptance.
|
950
996
|
* Review and rebase code reviews quickly:
|
@@ -984,9 +1030,14 @@ In addition to the objectives above, the following guidelines are worth followin
|
|
984
1030
|
always meant as a response to helpful feedback.
|
985
1031
|
** ✅ (`:white_check_mark:`) - Signifies code review approval. The author can
|
986
1032
|
rebase onto `master` and delete the feature branch at this point.
|
1033
|
+
* Use all feedback as a chance to learn, teach, strenghen the bond of trust between you and your
|
1034
|
+
fellow colleagues, and avoid being cut by
|
1035
|
+
link:https://fs.blog/2017/04/mental-model-hanlons-razor[Hanlon's Razor].
|
1036
|
+
* Use automation to ensure code reviews are consistent, of high quality, and swift to resolve. Each
|
1037
|
+
code review can be an opportunity to identify and automate the process further.
|
987
1038
|
* Use face-to-face communication if a code review's written discussion gets lengthy/noisy.
|
988
|
-
* Create
|
989
|
-
delaying code review acceptance. Return to the code review once
|
1039
|
+
* Create follow-up actions if additional features are discovered during a code review to avoid
|
1040
|
+
delaying code review acceptance. Return to the code review once the new actions have been logged.
|
990
1041
|
* The author, not the reviewer, should rebase the feature branch onto `master` upon approval.
|
991
1042
|
* Avoid reviewing your own code review before rebasing onto `master`. Have another pair of eyes
|
992
1043
|
review your code first.
|
@@ -1017,9 +1068,9 @@ do this, follow these steps:
|
|
1017
1068
|
. Check _Require review from Code Owners_.
|
1018
1069
|
. Check _Require status checks to pass before merging_.
|
1019
1070
|
. Check _Require branches to be up to date before merging_.
|
1071
|
+
. Check _Require signed commits_.
|
1020
1072
|
. Check _Require linear history_ (pairs well with the merge options mentioned above).
|
1021
1073
|
. Check _Include administrators_.
|
1022
|
-
. Uncheck _Require signed commits_ (only necessary for tags).
|
1023
1074
|
. Uncheck _Allow force pushes_.
|
1024
1075
|
. Uncheck _Allow deletions_.
|
1025
1076
|
|
@@ -1029,6 +1080,24 @@ image::https://www.alchemists.io/images/projects/git-lint/screenshots/github-set
|
|
1029
1080
|
|
1030
1081
|
Applying the above changes will help maintain a clean Git history.
|
1031
1082
|
|
1083
|
+
== Development
|
1084
|
+
|
1085
|
+
To contribute, run:
|
1086
|
+
|
1087
|
+
[source,bash]
|
1088
|
+
----
|
1089
|
+
git clone https://github.com/bkuhlmann/git-lint.git
|
1090
|
+
cd git-lint
|
1091
|
+
bin/setup
|
1092
|
+
----
|
1093
|
+
|
1094
|
+
You can also use the IRB console for direct access to all objects:
|
1095
|
+
|
1096
|
+
[source,bash]
|
1097
|
+
----
|
1098
|
+
bin/console
|
1099
|
+
----
|
1100
|
+
|
1032
1101
|
== Tests
|
1033
1102
|
|
1034
1103
|
To test, run:
|
data/lib/git/lint.rb
CHANGED
@@ -15,6 +15,7 @@ require "git/lint/commits/saved"
|
|
15
15
|
require "git/lint/commits/unsaved"
|
16
16
|
require "git/lint/branches/environments/local"
|
17
17
|
require "git/lint/branches/environments/circle_ci"
|
18
|
+
require "git/lint/branches/environments/git_hub_action"
|
18
19
|
require "git/lint/branches/environments/netlify_ci"
|
19
20
|
require "git/lint/branches/environments/travis_ci"
|
20
21
|
require "git/lint/branches/feature"
|
@@ -32,7 +32,11 @@ module Git
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def invalid_line? line
|
35
|
-
line.match?(/\A\s*#{
|
35
|
+
line.match?(/\A\s*#{pattern}(?!(#{pattern}|\s)).+\Z/)
|
36
|
+
end
|
37
|
+
|
38
|
+
def pattern
|
39
|
+
Regexp.union filter_list.to_regexp
|
36
40
|
end
|
37
41
|
end
|
38
42
|
end
|
@@ -14,9 +14,10 @@ module Git
|
|
14
14
|
def valid?
|
15
15
|
raw_body = commit.raw_body
|
16
16
|
subject, body = raw_body.split "\n", 2
|
17
|
+
|
17
18
|
return true if !String(subject).empty? && String(body).strip.empty?
|
18
19
|
|
19
|
-
raw_body.match?(/\A
|
20
|
+
raw_body.match?(/\A.+(\n\n|\#).+/m)
|
20
21
|
end
|
21
22
|
|
22
23
|
def issue
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Git
|
4
|
+
module Lint
|
5
|
+
module Branches
|
6
|
+
module Environments
|
7
|
+
# Provides GitHub Action build environment feature branch information.
|
8
|
+
class GitHubAction
|
9
|
+
def initialize repo: Git::Kit::Repo.new
|
10
|
+
@repo = repo
|
11
|
+
end
|
12
|
+
|
13
|
+
def name
|
14
|
+
"origin/#{repo.branch_name}"
|
15
|
+
end
|
16
|
+
|
17
|
+
def shas
|
18
|
+
repo.shas start: "origin/master", finish: name
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
attr_reader :repo
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -29,6 +29,7 @@ module Git
|
|
29
29
|
|
30
30
|
def load_environment
|
31
31
|
if key? "CIRCLECI" then Environments::CircleCI.new
|
32
|
+
elsif key? "GITHUB_ACTIONS" then Environments::GitHubAction.new
|
32
33
|
elsif key? "NETLIFY" then Environments::NetlifyCI.new environment: current_environment
|
33
34
|
elsif key? "TRAVIS" then Environments::TravisCI.new environment: current_environment
|
34
35
|
else Environments::Local.new
|
data/lib/git/lint/identity.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git-lint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
@@ -28,7 +28,7 @@ cert_chain:
|
|
28
28
|
2XV8FRa7/JimI07sPLC13eLY3xd/aYTi85Z782KIA4j0G8XEEWAX0ouBhlXPocZv
|
29
29
|
QWc=
|
30
30
|
-----END CERTIFICATE-----
|
31
|
-
date: 2020-
|
31
|
+
date: 2020-12-13 00:00:00.000000000 Z
|
32
32
|
dependencies:
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: pastel
|
@@ -50,28 +50,28 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '7.
|
53
|
+
version: '7.16'
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '7.
|
60
|
+
version: '7.16'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: runcom
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '6.
|
67
|
+
version: '6.4'
|
68
68
|
type: :runtime
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
72
|
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: '6.
|
74
|
+
version: '6.4'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: thor
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,188 +86,6 @@ dependencies:
|
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '0.20'
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: bundler-audit
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - "~>"
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '0.6'
|
96
|
-
type: :development
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - "~>"
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '0.6'
|
103
|
-
- !ruby/object:Gem::Dependency
|
104
|
-
name: gemsmith
|
105
|
-
requirement: !ruby/object:Gem::Requirement
|
106
|
-
requirements:
|
107
|
-
- - "~>"
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '14.2'
|
110
|
-
type: :development
|
111
|
-
prerelease: false
|
112
|
-
version_requirements: !ruby/object:Gem::Requirement
|
113
|
-
requirements:
|
114
|
-
- - "~>"
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: '14.2'
|
117
|
-
- !ruby/object:Gem::Dependency
|
118
|
-
name: guard-rspec
|
119
|
-
requirement: !ruby/object:Gem::Requirement
|
120
|
-
requirements:
|
121
|
-
- - "~>"
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
version: '4.7'
|
124
|
-
type: :development
|
125
|
-
prerelease: false
|
126
|
-
version_requirements: !ruby/object:Gem::Requirement
|
127
|
-
requirements:
|
128
|
-
- - "~>"
|
129
|
-
- !ruby/object:Gem::Version
|
130
|
-
version: '4.7'
|
131
|
-
- !ruby/object:Gem::Dependency
|
132
|
-
name: pry
|
133
|
-
requirement: !ruby/object:Gem::Requirement
|
134
|
-
requirements:
|
135
|
-
- - "~>"
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
version: '0.13'
|
138
|
-
type: :development
|
139
|
-
prerelease: false
|
140
|
-
version_requirements: !ruby/object:Gem::Requirement
|
141
|
-
requirements:
|
142
|
-
- - "~>"
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version: '0.13'
|
145
|
-
- !ruby/object:Gem::Dependency
|
146
|
-
name: pry-byebug
|
147
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
-
requirements:
|
149
|
-
- - "~>"
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: '3.9'
|
152
|
-
type: :development
|
153
|
-
prerelease: false
|
154
|
-
version_requirements: !ruby/object:Gem::Requirement
|
155
|
-
requirements:
|
156
|
-
- - "~>"
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: '3.9'
|
159
|
-
- !ruby/object:Gem::Dependency
|
160
|
-
name: rake
|
161
|
-
requirement: !ruby/object:Gem::Requirement
|
162
|
-
requirements:
|
163
|
-
- - "~>"
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: '13.0'
|
166
|
-
type: :development
|
167
|
-
prerelease: false
|
168
|
-
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
requirements:
|
170
|
-
- - "~>"
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
version: '13.0'
|
173
|
-
- !ruby/object:Gem::Dependency
|
174
|
-
name: reek
|
175
|
-
requirement: !ruby/object:Gem::Requirement
|
176
|
-
requirements:
|
177
|
-
- - "~>"
|
178
|
-
- !ruby/object:Gem::Version
|
179
|
-
version: '6.0'
|
180
|
-
type: :development
|
181
|
-
prerelease: false
|
182
|
-
version_requirements: !ruby/object:Gem::Requirement
|
183
|
-
requirements:
|
184
|
-
- - "~>"
|
185
|
-
- !ruby/object:Gem::Version
|
186
|
-
version: '6.0'
|
187
|
-
- !ruby/object:Gem::Dependency
|
188
|
-
name: rspec
|
189
|
-
requirement: !ruby/object:Gem::Requirement
|
190
|
-
requirements:
|
191
|
-
- - "~>"
|
192
|
-
- !ruby/object:Gem::Version
|
193
|
-
version: '3.9'
|
194
|
-
type: :development
|
195
|
-
prerelease: false
|
196
|
-
version_requirements: !ruby/object:Gem::Requirement
|
197
|
-
requirements:
|
198
|
-
- - "~>"
|
199
|
-
- !ruby/object:Gem::Version
|
200
|
-
version: '3.9'
|
201
|
-
- !ruby/object:Gem::Dependency
|
202
|
-
name: rubocop
|
203
|
-
requirement: !ruby/object:Gem::Requirement
|
204
|
-
requirements:
|
205
|
-
- - "~>"
|
206
|
-
- !ruby/object:Gem::Version
|
207
|
-
version: '0.83'
|
208
|
-
type: :development
|
209
|
-
prerelease: false
|
210
|
-
version_requirements: !ruby/object:Gem::Requirement
|
211
|
-
requirements:
|
212
|
-
- - "~>"
|
213
|
-
- !ruby/object:Gem::Version
|
214
|
-
version: '0.83'
|
215
|
-
- !ruby/object:Gem::Dependency
|
216
|
-
name: rubocop-performance
|
217
|
-
requirement: !ruby/object:Gem::Requirement
|
218
|
-
requirements:
|
219
|
-
- - "~>"
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
version: '1.5'
|
222
|
-
type: :development
|
223
|
-
prerelease: false
|
224
|
-
version_requirements: !ruby/object:Gem::Requirement
|
225
|
-
requirements:
|
226
|
-
- - "~>"
|
227
|
-
- !ruby/object:Gem::Version
|
228
|
-
version: '1.5'
|
229
|
-
- !ruby/object:Gem::Dependency
|
230
|
-
name: rubocop-rake
|
231
|
-
requirement: !ruby/object:Gem::Requirement
|
232
|
-
requirements:
|
233
|
-
- - "~>"
|
234
|
-
- !ruby/object:Gem::Version
|
235
|
-
version: '0.5'
|
236
|
-
type: :development
|
237
|
-
prerelease: false
|
238
|
-
version_requirements: !ruby/object:Gem::Requirement
|
239
|
-
requirements:
|
240
|
-
- - "~>"
|
241
|
-
- !ruby/object:Gem::Version
|
242
|
-
version: '0.5'
|
243
|
-
- !ruby/object:Gem::Dependency
|
244
|
-
name: rubocop-rspec
|
245
|
-
requirement: !ruby/object:Gem::Requirement
|
246
|
-
requirements:
|
247
|
-
- - "~>"
|
248
|
-
- !ruby/object:Gem::Version
|
249
|
-
version: '1.39'
|
250
|
-
type: :development
|
251
|
-
prerelease: false
|
252
|
-
version_requirements: !ruby/object:Gem::Requirement
|
253
|
-
requirements:
|
254
|
-
- - "~>"
|
255
|
-
- !ruby/object:Gem::Version
|
256
|
-
version: '1.39'
|
257
|
-
- !ruby/object:Gem::Dependency
|
258
|
-
name: simplecov
|
259
|
-
requirement: !ruby/object:Gem::Requirement
|
260
|
-
requirements:
|
261
|
-
- - "~>"
|
262
|
-
- !ruby/object:Gem::Version
|
263
|
-
version: '0.18'
|
264
|
-
type: :development
|
265
|
-
prerelease: false
|
266
|
-
version_requirements: !ruby/object:Gem::Requirement
|
267
|
-
requirements:
|
268
|
-
- - "~>"
|
269
|
-
- !ruby/object:Gem::Version
|
270
|
-
version: '0.18'
|
271
89
|
description:
|
272
90
|
email:
|
273
91
|
- brooke@alchemists.io
|
@@ -306,6 +124,7 @@ files:
|
|
306
124
|
- lib/git/lint/analyzers/commit_trailer_collaborator_key.rb
|
307
125
|
- lib/git/lint/analyzers/commit_trailer_collaborator_name.rb
|
308
126
|
- lib/git/lint/branches/environments/circle_ci.rb
|
127
|
+
- lib/git/lint/branches/environments/git_hub_action.rb
|
309
128
|
- lib/git/lint/branches/environments/local.rb
|
310
129
|
- lib/git/lint/branches/environments/netlify_ci.rb
|
311
130
|
- lib/git/lint/branches/environments/travis_ci.rb
|
@@ -356,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
356
175
|
- !ruby/object:Gem::Version
|
357
176
|
version: '0'
|
358
177
|
requirements: []
|
359
|
-
rubygems_version: 3.
|
178
|
+
rubygems_version: 3.2.0
|
360
179
|
signing_key:
|
361
180
|
specification_version: 4
|
362
181
|
summary: A command line interface for linting Git commits.
|
metadata.gz.sig
CHANGED
Binary file
|