Repository URL to install this package:
Version:
8.5.0.pre.alpha.4 ▾
|
# https://semaphoreci.com/docs/available-environment-variables.html
require "danger/request_sources/github/github"
module Danger
# ### CI Setup
#
# To set up Danger on Codefresh, create a freestyle step in your Codefresh yaml configuration:
#
# ```yml
# Danger:
# title: Run Danger
# image: alpine/bundle
# working_directory: ${{main_clone}}
# commands:
# - bundle install --deployment
# - bundle exec danger --verbose
# ```
#
# Don't forget to add the `DANGER_GITHUB_API_TOKEN` variable to your pipeline settings so that Danger can properly post comments to your pull request.
#
class Codefresh < CI
def self.validates_as_ci?(env)
env.key?("CF_BUILD_ID") && env.key?("CF_BUILD_URL")
end
def self.validates_as_pr?(env)
return !env["CF_PULL_REQUEST_NUMBER"].to_s.empty?
end
def supported_request_sources
@supported_request_sources ||= [Danger::RequestSources::GitHub]
end
def self.slug_from(env)
return "" if env["CF_REPO_OWNER"].to_s.empty?
return "" if env["CF_REPO_NAME"].to_s.empty?
"#{env['CF_REPO_OWNER']}/#{env['CF_REPO_NAME']}".downcase!
end
def initialize(env)
self.repo_url = env["CF_COMMIT_URL"].to_s.gsub(/\/commit.+$/, "")
self.repo_slug = self.class.slug_from(env)
self.pull_request_id = env["CF_PULL_REQUEST_NUMBER"]
end
end
end