Skip to content

Commit b088e56

Browse files
committed
(maint) Move extra commits rake task to rakelib
Our `commits` rake task is not part of the standard template, so move it to the `rakelib` directory so it will be deleted when running `pdk update`
1 parent 9e54a78 commit b088e56

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

rakelib/commits.rake

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
desc "verify that commit messages match CONTRIBUTING.md requirements"
2+
task(:commits) do
3+
# This rake task looks at the summary from every commit from this branch not
4+
# in the branch targeted for a PR.
5+
commit_range = 'HEAD^..HEAD'
6+
puts "Checking commits #{commit_range}"
7+
%x{git log --no-merges --pretty=%s #{commit_range}}.each_line do |commit_summary|
8+
# This regex tests for the currently supported commit summary tokens.
9+
# The exception tries to explain it in more full.
10+
if /^\((maint|packaging|doc|docs|modules-\d+)\)|revert/i.match(commit_summary).nil?
11+
raise "\n\n\n\tThis commit summary didn't match CONTRIBUTING.md guidelines:\n" \
12+
"\n\t\t#{commit_summary}\n" \
13+
"\tThe commit summary (i.e. the first line of the commit message) should start with one of:\n" \
14+
"\t\t(MODULES-<digits>) # this is most common and should be a ticket at tickets.puppet.com\n" \
15+
"\t\t(docs)\n" \
16+
"\t\t(docs)(DOCUMENT-<digits>)\n" \
17+
"\t\t(packaging)\n"
18+
"\t\t(maint)\n" \
19+
"\n\tThis test for the commit summary is case-insensitive.\n\n\n"
20+
else
21+
puts "#{commit_summary}"
22+
end
23+
puts "...passed"
24+
end
25+
end

0 commit comments

Comments
 (0)