diff --git a/Dangerfile b/Dangerfile index 0aae64c2e..88ec77a9a 100644 --- a/Dangerfile +++ b/Dangerfile @@ -7,12 +7,18 @@ warn("PR is classed as Work in Progress") if github.pr_title.include? "[WIP]" # Warn when there is a big PR warn("Big PR") if git.lines_of_code > 500 -# Changelog entries are required for changes to library files. +# Changelog entries are required for changes to library files no_changelog_entry = !git.modified_files.include?("CHANGELOG.md") if has_source_changes && no_changelog_entry && not_declared_trivial && git.lines_of_code > 10 fail("Any source code changes should have an entry in CHANGELOG.md.") end +# Milestones are required to track what's included in each release +if has_source_changes && not_declared_trivial + has_milestone = !github.pr_json['milestone'].nil? + warn('All pull requests should have a milestone attached, unless marked *#trivial*.', sticky: false) unless has_milestone +end + # Docs are regenerated when releasing has_doc_changes = !git.modified_files.grep(/docs\//).empty? if has_doc_changes