Sha256: 2f965fc2869d41fb708316230959a95aa3af28ebccefa1af293976cd29ee81d2

Contents?: true

Size: 1.94 KB

Versions: 58

Compression:

Stored size: 1.94 KB

Contents

# Ensure a clean commits history
if git.commits.any? { |c| c.message =~ /^Merge branch '#{github.branch_for_base}'/ }
  fail('Please rebase to get rid of the merge commits in this PR')
end
can_merge = github.pr_json["mergeable"]
is_merged = github.pr_json["merged"]

if is_merged
  warn("This PR was merged before CI was done.", sticky: false)
else
  warn("This PR cannot be merged yet.", sticky: false) unless can_merge
end

# Make it more obvious that a PR is a work in progress and shouldn't be merged yet
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

#ENSURE THERE IS A SUMMARY FOR A PR
warn("Please provide a summary in the Pull Request description. See more info <a href=\"http\://tinyletter.com/exercism/letters/exercism-pull-requests\">here.</a>") if github.pr_body.length < 5

# Ensure that .gitignore is included in new exercises
(git.modified_files + git.added_files)
  .map { |path|
    match = %r{^(?<dir>exercises/[^/]+).*$}i.match(path) || {}
    match[:dir]
  }
  .uniq
  .reject(&:nil?)
  .each { |dir|
    warn "Missing `#{dir}/.gitignore`" unless File.exists? "#{dir}/.gitignore"
  }

# LINT Comments in for each Line
jsonpath = "lintreport.json"
contents = File.read jsonpath
require "json"
if contents.to_s == ''
	contents = "[]"
end
json = JSON.parse contents
json.each do |object|
   shortFile =  object["file"]
   shortFile.sub! "/Users/travis/build/exercism/swift/", ''
   shortFile = shortFile.to_s || ''
   msg = object["reason"].to_s || ''
   severity = object["severity"].to_s || ''
   isError = severity == "Error"
   line = object["line"] || 1
   #only warn for files that were edited in this PR.
   if isError
    warn(msg, file: "/" + shortFile, line: line) if isError
   elsif git.modified_files.include? shortFile
   	warn(msg, file: "/" + shortFile, line: line) unless isError
   else
   	message(msg, file: shortFile, line: line)
   end
end

Version data entries

58 entries across 58 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/swift/Dangerfile
trackler-2.2.1.179 tracks/swift/Dangerfile
trackler-2.2.1.178 tracks/swift/Dangerfile
trackler-2.2.1.177 tracks/swift/Dangerfile
trackler-2.2.1.176 tracks/swift/Dangerfile
trackler-2.2.1.175 tracks/swift/Dangerfile
trackler-2.2.1.174 tracks/swift/Dangerfile
trackler-2.2.1.173 tracks/swift/Dangerfile
trackler-2.2.1.172 tracks/swift/Dangerfile
trackler-2.2.1.171 tracks/swift/Dangerfile
trackler-2.2.1.170 tracks/swift/Dangerfile
trackler-2.2.1.169 tracks/swift/Dangerfile
trackler-2.2.1.167 tracks/swift/Dangerfile
trackler-2.2.1.166 tracks/swift/Dangerfile
trackler-2.2.1.165 tracks/swift/Dangerfile
trackler-2.2.1.164 tracks/swift/Dangerfile
trackler-2.2.1.163 tracks/swift/Dangerfile
trackler-2.2.1.162 tracks/swift/Dangerfile
trackler-2.2.1.161 tracks/swift/Dangerfile
trackler-2.2.1.160 tracks/swift/Dangerfile