Sha256: f43108f726ebc403c9c4012e028f7573d2cf08fc2ca2b1507fcc0abf67aa4bdf

Contents?: true

Size: 1.37 KB

Versions: 6

Compression:

Stored size: 1.37 KB

Contents

# 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

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
danger-9.1.0 lib/danger/ci_source/codefresh.rb
danger-9.0.0 lib/danger/ci_source/codefresh.rb
danger-8.6.1 lib/danger/ci_source/codefresh.rb
danger-8.6.0 lib/danger/ci_source/codefresh.rb
danger-8.5.0 lib/danger/ci_source/codefresh.rb
danger-8.4.5 lib/danger/ci_source/codefresh.rb