Sha256: 9669c0525c3da5397fde25cc84104bbd4d56934a1f048a998d7a6dd76a8a88e3

Contents?: true

Size: 1.4 KB

Versions: 27

Compression:

Stored size: 1.4 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 repo_slug
      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 repo_url
      return "" if @env["CF_COMMIT_URL"].to_s.empty?
      @env["CF_COMMIT_URL"].gsub(/\/commit.+$/, "")
    end

    def pull_request_id
      @env["CF_PULL_REQUEST_NUMBER"]
    end

    def initialize(env)
      @env = env
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
danger-8.4.4 lib/danger/ci_source/codefresh.rb
danger-8.4.3 lib/danger/ci_source/codefresh.rb
danger-8.4.2 lib/danger/ci_source/codefresh.rb
danger-8.4.1 lib/danger/ci_source/codefresh.rb
danger-8.4.0 lib/danger/ci_source/codefresh.rb
danger-8.3.1 lib/danger/ci_source/codefresh.rb
danger-8.2.3 lib/danger/ci_source/codefresh.rb
danger-8.2.2 lib/danger/ci_source/codefresh.rb
danger-8.2.1 lib/danger/ci_source/codefresh.rb
danger-8.2.0 lib/danger/ci_source/codefresh.rb
danger-8.1.0 lib/danger/ci_source/codefresh.rb
danger-8.0.6 lib/danger/ci_source/codefresh.rb
danger-8.0.5 lib/danger/ci_source/codefresh.rb
danger-8.0.4 lib/danger/ci_source/codefresh.rb
danger-8.0.3 lib/danger/ci_source/codefresh.rb
danger-8.0.2 lib/danger/ci_source/codefresh.rb
danger-8.0.1 lib/danger/ci_source/codefresh.rb
danger-8.0.0 lib/danger/ci_source/codefresh.rb
danger-7.0.1 lib/danger/ci_source/codefresh.rb
danger-7.0.0 lib/danger/ci_source/codefresh.rb