From 05cbb5737f40b9fd19f9e11d87015db1f6d1b74e Mon Sep 17 00:00:00 2001 From: Nishant Shah Date: Tue, 18 Jul 2017 18:40:59 +0530 Subject: [PATCH 01/15] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e22fecb..176d317 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ That will check each commit in the PR to ensure the following is true: * Commit subject follows the angular pattern of `(): ` * Commit begins with a capital letter (`subject_cap`) -* Commit is more than one word (`subject_word`) +* Commit is more than one word (`subject_words`) * Commit is no longer than 50 characters (`subject_length`) * Commit does not end in a period (`subject_period`) * Commit and body are separated by an empty line (`empty_line`) From 3db99be859a746bf5f5ea4b1420ce80b4dfefb47 Mon Sep 17 00:00:00 2001 From: Jon Allured Date: Wed, 3 Jan 2018 09:12:17 -0600 Subject: [PATCH 02/15] Update dependency info --- danger-angular_commit_lint.gemspec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/danger-angular_commit_lint.gemspec b/danger-angular_commit_lint.gemspec index 000caaa..eb9b004 100644 --- a/danger-angular_commit_lint.gemspec +++ b/danger-angular_commit_lint.gemspec @@ -20,10 +20,10 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency 'danger', '~> 5.0' - spec.add_development_dependency 'bundler', '~> 1.3' + spec.add_development_dependency 'bundler' spec.add_development_dependency 'rake' - spec.add_development_dependency 'rspec', '~> 3.4' - spec.add_development_dependency "rubocop", "~> 0.41" - spec.add_development_dependency "yard", "~> 0.8" + spec.add_development_dependency 'rspec' + spec.add_development_dependency 'rubocop' + spec.add_development_dependency 'yard' spec.add_development_dependency 'pry' end From d7e36fc41cdbc4368bb558545535877abd209b8a Mon Sep 17 00:00:00 2001 From: Jon Allured Date: Wed, 3 Jan 2018 09:16:37 -0600 Subject: [PATCH 03/15] Update Travis Ruby versions --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 182cbf1..3e5aa5e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,10 +3,10 @@ language: ruby cache: bundler rvm: - - 2.2 - - 2.3.3 - - 2.4.0 - - jruby-9 + - 2.3.6 + - 2.4.3 + - 2.5.0 + - jruby-9.1.9.0 script: - bundle exec rake From 5bafb25cacfbda3df2e41c72b14fe1db7daab070 Mon Sep 17 00:00:00 2001 From: Jon Allured Date: Mon, 21 May 2018 16:30:31 -0500 Subject: [PATCH 04/15] Run linter first --- Rakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index 07dba4a..39e5e30 100644 --- a/Rakefile +++ b/Rakefile @@ -4,7 +4,7 @@ require 'rubocop/rake_task' RSpec::Core::RakeTask.new(:spec) -task default: [:spec, :rubocop, :spec_docs] +task default: %i[rubocop spec spec_docs] desc 'Run RuboCop on the lib/specs directory' RuboCop::RakeTask.new(:rubocop) do |task| From bc1644980b08a25ff718bcef4a684afba531ecb9 Mon Sep 17 00:00:00 2001 From: Jon Allured Date: Mon, 21 May 2018 16:31:53 -0500 Subject: [PATCH 05/15] Comply with newer RuboCop --- danger-angular_commit_lint.gemspec | 8 ++++---- spec/commit_lint_spec.rb | 2 +- spec/spec_helper.rb | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/danger-angular_commit_lint.gemspec b/danger-angular_commit_lint.gemspec index eb9b004..f5526be 100644 --- a/danger-angular_commit_lint.gemspec +++ b/danger-angular_commit_lint.gemspec @@ -1,5 +1,5 @@ -# coding: utf-8 -lib = File.expand_path('../lib', __FILE__) + +lib = File.expand_path('lib', __dir__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) require 'angular_commit_lint/gem_version.rb' @@ -13,7 +13,7 @@ Gem::Specification.new do |spec| spec.homepage = 'https://github.com/simeonc/danger-angular_commit_lint' spec.license = 'MIT' - spec.files = `git ls-files`.split($/) + spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR) spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) spec.require_paths = ['lib'] @@ -21,9 +21,9 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency 'danger', '~> 5.0' spec.add_development_dependency 'bundler' + spec.add_development_dependency 'pry' spec.add_development_dependency 'rake' spec.add_development_dependency 'rspec' spec.add_development_dependency 'rubocop' spec.add_development_dependency 'yard' - spec.add_development_dependency 'pry' end diff --git a/spec/commit_lint_spec.rb b/spec/commit_lint_spec.rb index 0ed3b62..77005fe 100644 --- a/spec/commit_lint_spec.rb +++ b/spec/commit_lint_spec.rb @@ -1,4 +1,4 @@ -require File.expand_path('../spec_helper', __FILE__) +require File.expand_path('spec_helper', __dir__) # rubocop:disable Metrics/LineLength diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 4a97360..e7b75ca 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,5 +1,5 @@ require 'pathname' -ROOT = Pathname.new(File.expand_path('../../', __FILE__)) +ROOT = Pathname.new(File.expand_path('..', __dir__)) $LOAD_PATH.unshift((ROOT + 'lib').to_s) $LOAD_PATH.unshift((ROOT + 'spec').to_s) From 412e47de347008925ecfc67dec15c965c065f441 Mon Sep 17 00:00:00 2001 From: Jon Allured Date: Mon, 21 May 2018 16:35:55 -0500 Subject: [PATCH 06/15] Upgrade Ruby version on Travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3e5aa5e..88cd5fa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ cache: bundler rvm: - 2.3.6 - 2.4.3 - - 2.5.0 + - 2.5.1 - jruby-9.1.9.0 script: From b21a2913fb796fc34cf60a2821f36474ee7cda10 Mon Sep 17 00:00:00 2001 From: Jon Allured Date: Mon, 21 May 2018 16:36:16 -0500 Subject: [PATCH 07/15] Sort things by alpha when possible --- .gitignore | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 707a05e..9c23ca8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ .DS_Store -pkg .idea/ -Gemfile.lock -.ruby-version .ruby-gemset +.ruby-version .yardoc/ +Gemfile.lock +pkg From f323c418052dbc81fbfeb663004ee0de8735c494 Mon Sep 17 00:00:00 2001 From: Weverton do Couto Timoteo Date: Thu, 10 Aug 2017 16:05:32 -0300 Subject: [PATCH 08/15] Ignore git generated subject in commit messages --- .../subject_length_check.rb | 9 +++- spec/subject_length_check_spec.rb | 43 +++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 spec/subject_length_check_spec.rb diff --git a/lib/angular_commit_lint/subject_length_check.rb b/lib/angular_commit_lint/subject_length_check.rb index 2477d83..0770168 100644 --- a/lib/angular_commit_lint/subject_length_check.rb +++ b/lib/angular_commit_lint/subject_length_check.rb @@ -6,6 +6,9 @@ class SubjectLengthCheck < CommitCheck # :nodoc: def message 'Please limit commit subject line to 50 characters.'.freeze end + GIT_GENERATED_SUBJECT = /^Merge ?(pull request #\d+ from\ |branch \'.+\' into\ )/ + + attr_reader :subject def self.type :subject_length @@ -16,7 +19,11 @@ def initialize(message, _config = {}) end def fail? - @subject.length > 50 + subject.length > 50 && !merge_commit? + end + + def merge_commit? + subject =~ GIT_GENERATED_SUBJECT end end end diff --git a/spec/subject_length_check_spec.rb b/spec/subject_length_check_spec.rb new file mode 100644 index 0000000..7c25333 --- /dev/null +++ b/spec/subject_length_check_spec.rb @@ -0,0 +1,43 @@ +require File.expand_path('../spec_helper', __FILE__) + +describe Danger::DangerAngularCommitLint::SubjectLengthCheck do + describe '#fail?' do + let(:commit_subject) { 'This is a common valid commit message' } + + let(:message) do + { + subject: commit_subject + } + end + + subject do + described_class.new(message).fail? + end + + it { expect(subject).to be_falsy } + + context 'when message is invalid' do + let(:commit_subject) do + 'This is a really long subject line and should result in an error' + end + + it { expect(subject).to be_truthy } + end + + context 'when message is a merge commit generated by git' do + let(:commit_subject) do + "Merge branch 'ignore-length-on-git-generated-merge-commits' into master" + end + + it { expect(subject).to be_falsy } + end + + context 'when message is a merge commit generated by GitHub' do + let(:commit_subject) do + 'Merge pull request #1234 from jonallured/ignore-length-merge-commits' + end + + it { expect(subject).to be_falsy } + end + end +end From a10c7345cdf6d8ad9146af1cbe56c0979585e57b Mon Sep 17 00:00:00 2001 From: Weverton do Couto Timoteo Date: Thu, 10 Aug 2017 16:46:45 -0300 Subject: [PATCH 09/15] Fix line length rubocop warnings --- lib/angular_commit_lint/subject_length_check.rb | 3 ++- spec/subject_length_check_spec.rb | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/angular_commit_lint/subject_length_check.rb b/lib/angular_commit_lint/subject_length_check.rb index 0770168..8ff17ad 100644 --- a/lib/angular_commit_lint/subject_length_check.rb +++ b/lib/angular_commit_lint/subject_length_check.rb @@ -6,7 +6,8 @@ class SubjectLengthCheck < CommitCheck # :nodoc: def message 'Please limit commit subject line to 50 characters.'.freeze end - GIT_GENERATED_SUBJECT = /^Merge ?(pull request #\d+ from\ |branch \'.+\' into\ )/ + GIT_GENERATED_SUBJECT = /^Merge (pull request #\d+ from\ |\ + branch \'.+\' into\ )/ attr_reader :subject diff --git a/spec/subject_length_check_spec.rb b/spec/subject_length_check_spec.rb index 7c25333..409907f 100644 --- a/spec/subject_length_check_spec.rb +++ b/spec/subject_length_check_spec.rb @@ -26,7 +26,7 @@ context 'when message is a merge commit generated by git' do let(:commit_subject) do - "Merge branch 'ignore-length-on-git-generated-merge-commits' into master" + "Merge branch 'ignore-length-on-git-merge-commits' into master" end it { expect(subject).to be_falsy } From 0f07174c80ec95f62c5b8c20c933006b269a3cdd Mon Sep 17 00:00:00 2001 From: Weverton do Couto Timoteo Date: Thu, 10 Aug 2017 16:58:38 -0300 Subject: [PATCH 10/15] Break git generated regexp for `git` and `GitHub` --- lib/angular_commit_lint/subject_length_check.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/angular_commit_lint/subject_length_check.rb b/lib/angular_commit_lint/subject_length_check.rb index 8ff17ad..cc084eb 100644 --- a/lib/angular_commit_lint/subject_length_check.rb +++ b/lib/angular_commit_lint/subject_length_check.rb @@ -6,8 +6,8 @@ class SubjectLengthCheck < CommitCheck # :nodoc: def message 'Please limit commit subject line to 50 characters.'.freeze end - GIT_GENERATED_SUBJECT = /^Merge (pull request #\d+ from\ |\ - branch \'.+\' into\ )/ + GIT_GENERATED_SUBJECT = /^Merge branch \'.+\' into\ / + GITHUB_GENERATED_SUBJECT = /^Merge pull request #\d+ from\ / attr_reader :subject @@ -24,7 +24,7 @@ def fail? end def merge_commit? - subject =~ GIT_GENERATED_SUBJECT + subject =~ /#{GIT_GENERATED_SUBJECT}|#{GITHUB_GENERATED_SUBJECT}/ end end end From cb16894378fa7433d883a2e966a9596989fc3d8a Mon Sep 17 00:00:00 2001 From: Jon Allured Date: Thu, 21 Mar 2019 14:48:58 -0500 Subject: [PATCH 11/15] Express danger plugin dependency more directly --- danger-angular_commit_lint.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/danger-angular_commit_lint.gemspec b/danger-angular_commit_lint.gemspec index f5526be..141535c 100644 --- a/danger-angular_commit_lint.gemspec +++ b/danger-angular_commit_lint.gemspec @@ -18,7 +18,7 @@ Gem::Specification.new do |spec| spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) spec.require_paths = ['lib'] - spec.add_runtime_dependency 'danger', '~> 5.0' + spec.add_runtime_dependency 'danger-plugin-api', '~> 1.0' spec.add_development_dependency 'bundler' spec.add_development_dependency 'pry' From 138923b942c736c1a41c36f1eb2abfe2f26f847c Mon Sep 17 00:00:00 2001 From: Jon Allured Date: Thu, 28 Mar 2019 14:18:49 -0500 Subject: [PATCH 12/15] Comply with RuboCop --- danger-angular_commit_lint.gemspec | 1 - lib/angular_commit_lint/plugin.rb | 1 + lib/angular_commit_lint/subject_length_check.rb | 4 ++-- spec/commit_lint_spec.rb | 2 +- spec/subject_length_check_spec.rb | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/danger-angular_commit_lint.gemspec b/danger-angular_commit_lint.gemspec index 141535c..e3d4c84 100644 --- a/danger-angular_commit_lint.gemspec +++ b/danger-angular_commit_lint.gemspec @@ -1,4 +1,3 @@ - lib = File.expand_path('lib', __dir__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) require 'angular_commit_lint/gem_version.rb' diff --git a/lib/angular_commit_lint/plugin.rb b/lib/angular_commit_lint/plugin.rb index 1f5bd22..93fa19a 100644 --- a/lib/angular_commit_lint/plugin.rb +++ b/lib/angular_commit_lint/plugin.rb @@ -127,6 +127,7 @@ def disabled_checks def warning_checks return checks if @config[:warn] == :all + @config[:warn] || [] end diff --git a/lib/angular_commit_lint/subject_length_check.rb b/lib/angular_commit_lint/subject_length_check.rb index cc084eb..fe617b4 100644 --- a/lib/angular_commit_lint/subject_length_check.rb +++ b/lib/angular_commit_lint/subject_length_check.rb @@ -6,8 +6,8 @@ class SubjectLengthCheck < CommitCheck # :nodoc: def message 'Please limit commit subject line to 50 characters.'.freeze end - GIT_GENERATED_SUBJECT = /^Merge branch \'.+\' into\ / - GITHUB_GENERATED_SUBJECT = /^Merge pull request #\d+ from\ / + GIT_GENERATED_SUBJECT = /^Merge branch \'.+\' into\ /.freeze + GITHUB_GENERATED_SUBJECT = /^Merge pull request #\d+ from\ /.freeze attr_reader :subject diff --git a/spec/commit_lint_spec.rb b/spec/commit_lint_spec.rb index 77005fe..7f90976 100644 --- a/spec/commit_lint_spec.rb +++ b/spec/commit_lint_spec.rb @@ -10,7 +10,7 @@ subject_period: 'fix: This subject line ends in a period.', empty_line: "fix: This subject line is fine\nBut then I forgot the empty line separating the subject and the body.", all_errors: "this is a really long subject and it even ends in a period.\nNot to mention the missing empty line!", - valid: "fix: This is a valid message\n\nYou can tell because it meets all the criteria and the linter does not complain." + valid: "fix: This is a valid message\n\nYou can tell because it meets all the criteria and the linter does not complain." }.freeze BLANK_MESSAGE = { diff --git a/spec/subject_length_check_spec.rb b/spec/subject_length_check_spec.rb index 409907f..5b3273f 100644 --- a/spec/subject_length_check_spec.rb +++ b/spec/subject_length_check_spec.rb @@ -1,4 +1,4 @@ -require File.expand_path('../spec_helper', __FILE__) +require File.expand_path('spec_helper', __dir__) describe Danger::DangerAngularCommitLint::SubjectLengthCheck do describe '#fail?' do From ce5e28dd7dc5fb11b0119044cb2e47f9b5661e47 Mon Sep 17 00:00:00 2001 From: Jon Allured Date: Fri, 29 Mar 2019 08:56:26 -0500 Subject: [PATCH 13/15] Bump Ruby versions --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 88cd5fa..4361926 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,10 +3,10 @@ language: ruby cache: bundler rvm: - - 2.3.6 - - 2.4.3 - - 2.5.1 - - jruby-9.1.9.0 + - 2.4.5 + - 2.5.5 + - 2.6.2 + - jruby-9.2.6.0 script: - bundle exec rake From 830438bd2956d3dbb8af76090de56d965507db68 Mon Sep 17 00:00:00 2001 From: Jon Allured Date: Fri, 29 Mar 2019 09:29:18 -0500 Subject: [PATCH 14/15] Update CHANGELOG --- CHANGELOG.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e09f241..4da051f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,22 @@ The format is based on [Keep a Changelog][keep] and this project adheres to ## [Unreleased] -[Unreleased]: https://github.com/jonallured/danger-commit_lint/compare/v0.0.6...master +[Unreleased]: https://github.com/SimeonC/danger-angular_commit_lint/compare/v1.2.0...master + +## [1.2.0] - 2019-05-05 + +### Changed + +* Ignore git generated subject in commit messages [#21][] +* Express danger plugin dependency in terms of plugin api [#24][] + +[1.2.0]: https://github.com/SimeonC/danger-angular_commit_lint/compare/v0.0.6...v1.2.0 +[#21]: https://github.com/jonallured/danger-commit_lint/pull/21 +[#24]: https://github.com/jonallured/danger-commit_lint/pull/24 + +### Removed + +* Drop Ruby 2.3 from Travis [1aa9cff][1aa9cff] ## [0.0.6] - 2017-04-27 From 4a82233a84d267961efd0340ae451e2dadcfb07a Mon Sep 17 00:00:00 2001 From: Gildardo Adrian Maravilla Jacome Date: Sat, 4 May 2019 23:23:30 -0500 Subject: [PATCH 15/15] Bump version to 1.2.0 --- lib/angular_commit_lint/gem_version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/angular_commit_lint/gem_version.rb b/lib/angular_commit_lint/gem_version.rb index cac17a6..0cbc1db 100644 --- a/lib/angular_commit_lint/gem_version.rb +++ b/lib/angular_commit_lint/gem_version.rb @@ -1,3 +1,3 @@ module AngularCommitLint - VERSION = '1.1.2'.freeze + VERSION = '1.2.0'.freeze end