Dangerfile in grape-0.17.0 vs Dangerfile in grape-0.18.0
- old
+ new
@@ -1,80 +2 @@
-# --------------------------------------------------------------------------------------------------------------------
-# Has any changes happened inside the actual library code?
-# --------------------------------------------------------------------------------------------------------------------
-has_app_changes = !git.modified_files.grep(/lib/).empty?
-has_spec_changes = !git.modified_files.grep(/spec/).empty?
-
-# --------------------------------------------------------------------------------------------------------------------
-# You've made changes to lib, but didn't write any tests?
-# --------------------------------------------------------------------------------------------------------------------
-if has_app_changes && !has_spec_changes
- raise("There're library changes, but not tests. That's OK as long as you're refactoring existing code.", sticky: false)
-end
-
-# --------------------------------------------------------------------------------------------------------------------
-# You've made changes to specs, but no library code has changed?
-# --------------------------------------------------------------------------------------------------------------------
-if !has_app_changes && has_spec_changes
- message('We really appreciate pull requests that demonstrate issues, even without a fix. That said, the next step is to try and fix the failing tests!', sticky: false)
-end
-
-# --------------------------------------------------------------------------------------------------------------------
-# Have you updated CHANGELOG.md?
-# --------------------------------------------------------------------------------------------------------------------
-if !git.modified_files.include?('CHANGELOG.md') && has_app_changes
- pr_number = github.pr_json['number']
- markdown <<-MARKDOWN
-Here's an example of a CHANGELOG.md entry:
-
-```markdown
-* [##{pr_number}](https://github.com/ruby-grape/grape/pull/#{pr_number}): #{github.pr_title} - [@#{github.pr_author}](https://github.com/#{github.pr_author}).
-```
-MARKDOWN
- raise('Please update CHANGELOG.md.', sticky: false)
-end
-
-# --------------------------------------------------------------------------------------------------------------------
-# Is the CHANGELOG.md format correct?
-# --------------------------------------------------------------------------------------------------------------------
-
-your_contribution_here = false
-releases = 0
-errors = 0
-File.open('CHANGELOG.md').each_line do |line|
- # only look at the top releases, we entered a lot of changes without a PR before
- if line == "==================\n"
- releases += 1
- break if releases == 5
- end
- # ignore lines that aren't changes
- next unless line[0] == '*'
- # notice your contribution here
- if line == "* Your contribution here.\n"
- your_contribution_here = true
- next
- end
- # match the PR format
- next if line =~ %r{^\*\s\[\#\d+\]\(https:\/\/github\.com\/.*\d+\)\: [\`[:upper:]].* \- \[\@[\w\d\-\_]+\]\(https:\/\/github\.com\/.*[\w\d\-\_]+\)\.$}
- errors += 1
- markdown <<-MARKDOWN
-```markdown
-#{line}```
- MARKDOWN
-end
-
-raise("One of the lines below found in CHANGELOG.md doesn't match the expected format. Please make it look like the other lines, pay attention to periods and spaces.", sticky: false) if errors > 0
-raise('Please put back the `* Your contribution here.` line into CHANGELOG.md.', sticky: false) unless your_contribution_here
-
-# --------------------------------------------------------------------------------------------------------------------
-# Don't let testing shortcuts get into master by accident,
-# ensuring that we don't get green builds based on a subset of tests.
-# --------------------------------------------------------------------------------------------------------------------
-
-(git.modified_files + git.added_files - %w(Dangerfile)).each do |file|
- next unless File.file?(file)
- contents = File.read(file)
- if file.start_with?('spec')
- raise("`xit` or `fit` left in tests (#{file})") if contents =~ /^\w*[xf]it/
- raise("`fdescribe` left in tests (#{file})") if contents =~ /^\w*fdescribe/
- end
-end
+danger.import_dangerfile(gem: 'ruby-grape-danger')