awesomeness/Dangerfile

31 lines
1.7 KiB
Plaintext
Raw Normal View History

2016-12-05 19:51:55 +00:00
message "Hi @#{github.pr_author} thank you for your submission at Awesome-Awesomeness. Be sure that you haven't got any errors below this. For any questions, ping @m1guelpf"
2016-12-05 19:10:31 +00:00
#Check for changes to README.md
has_readme_changes = git.modified_files.include?("README.md")
2016-12-05 19:54:06 +00:00
can_merge = github.pr_json["mergeable"]
2016-12-05 19:55:05 +00:00
warn("This PR cannot be merged yet.", sticky: false) unless can_merge
2016-12-05 19:10:31 +00:00
# Ensure there is a summary for a pull request
fail 'Please provide a summary in the Pull Request description' if github.pr_body.length < 5
# Warn if PR guideline boxes are not checked.
2016-12-05 19:44:32 +00:00
fail 'Please check PR guidelines and check the boxes.' if github.pr_body.include? '- [ ]'
2016-12-05 19:32:12 +00:00
# Warn the user if pull request fields remain unchanged
2016-12-05 19:44:32 +00:00
fail 'Please replace **[Insert URL to the list here.]** with the URL to the list.' if github.pr_body.include? '**[Insert URL to the list here.]**'
fail 'Please replace **[Explain what this list is about and why it should be included here.]** with an explanation of why we should include this list.' if github.pr_body.include? '**[Explain what this list is about and why it should be included here.]**'
2016-12-05 19:10:31 +00:00
# Warn if pull request is not updated
2016-12-05 19:44:32 +00:00
fail 'Please update the Pull Request title to contain the script name' if github.pr_title.include? 'Update README.md'
2016-12-05 19:49:11 +00:00
# Warn if there is [WIP] in the title
warn "PR is classed as Work in Progress" if github.pr_title.include? "[WIP]"
2016-12-05 19:10:31 +00:00
# Warn when there are merge commits in the diff
2016-12-05 19:44:54 +00:00
fail 'Please rebase to get rid of the merge commits in this Pull Request' if git.commits.any? { |c| c.message =~ /^Merge branch 'master'/ }
2016-12-05 19:10:31 +00:00
# Check links
if has_readme_changes
require 'json'
results = File.read 'ab-results-temp.md-markdown-table.json'
j = JSON.parse results
if j['error']==true
fail j['title']
markdown j['message']
end
end