Sha256: d0abe54bc47c3e06e76487632d65d5389204aa5a181cd1df7274a16969a0ebdd

Contents?: true

Size: 1.68 KB

Versions: 46

Compression:

Stored size: 1.68 KB

Contents

module Danger
  class LocalSetup
    attr_reader :dm, :cork

    def initialize(dangerfile, cork)
      @dm = dangerfile
      @cork = cork
    end

    def setup(verbose: false)
      source = dm.env.ci_source
      if source.nil? or source.repo_slug.empty?
        cork.puts "danger local failed because it only works with GitHub and Bitbucket server projects at the moment. Sorry.".red
        exit 0
      end
      gh = dm.env.request_source
      # We can use tokenless here, as it's running on someone's computer
      # and is IP locked, as opposed to on the CI. Only for Github PRs
      if gh.instance_of? Danger::RequestSources::GitHub
        gh.support_tokenless_auth = true
      end

      if gh.instance_of? Danger::RequestSources::BitbucketServer
        cork.puts "Running your Dangerfile against this PR - #{gh.host}/projects/#{source.repo_slug.split('/').first}/repos/#{source.repo_slug.split('/').last}/pull-requests/#{source.pull_request_id}"
      elsif gh.instance_of? Danger::RequestSources::VSTS
        cork.puts "Running your Dangerfile against this PR - #{gh.client.pr_api_endpoint}"
      else
        cork.puts "Running your Dangerfile against this PR - https://#{gh.host}/#{source.repo_slug}/pull/#{source.pull_request_id}"
      end

      unless verbose
        cork.puts "Turning on --verbose"
        dm.verbose = true
      end

      cork.puts

      begin
        gh.fetch_details
      rescue Octokit::NotFound
        cork.puts "Local repository was not found on GitHub. If you're trying to test a private repository please provide a valid API token through " + "DANGER_GITHUB_API_TOKEN".yellow + " environment variable."
        return
      end

      yield
    end
  end
end

Version data entries

46 entries across 46 versions & 2 rubygems

Version Path
danger-9.5.1 lib/danger/commands/local_helpers/local_setup.rb
danger-9.5.0 lib/danger/commands/local_helpers/local_setup.rb
danger-9.4.3 lib/danger/commands/local_helpers/local_setup.rb
danger-9.4.2 lib/danger/commands/local_helpers/local_setup.rb
danger-9.4.1 lib/danger/commands/local_helpers/local_setup.rb
danger-9.4.0 lib/danger/commands/local_helpers/local_setup.rb
danger-9.3.2 lib/danger/commands/local_helpers/local_setup.rb
danger-additional-logging-0.0.36 lib/danger/commands/local_helpers/local_setup.rb
danger-additional-logging-0.0.35 lib/danger/commands/local_helpers/local_setup.rb
danger-additional-logging-0.0.34 lib/danger/commands/local_helpers/local_setup.rb
danger-additional-logging-0.0.33 lib/danger/commands/local_helpers/local_setup.rb
danger-additional-logging-0.0.32 lib/danger/commands/local_helpers/local_setup.rb
danger-additional-logging-0.0.31 lib/danger/commands/local_helpers/local_setup.rb
danger-additional-logging-0.0.30 lib/danger/commands/local_helpers/local_setup.rb
danger-additional-logging-0.0.29 lib/danger/commands/local_helpers/local_setup.rb
danger-additional-logging-0.0.28 lib/danger/commands/local_helpers/local_setup.rb
danger-additional-logging-0.0.27 lib/danger/commands/local_helpers/local_setup.rb
danger-additional-logging-0.0.26 lib/danger/commands/local_helpers/local_setup.rb
danger-additional-logging-0.0.25 lib/danger/commands/local_helpers/local_setup.rb
danger-additional-logging-0.0.24 lib/danger/commands/local_helpers/local_setup.rb