Module: MinaCircle::Helpers

Defined in:
lib/mina-circle/helpers.rb

Instance Method Summary collapse

Instance Method Details

#artifact_fetch_commandObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/mina-circle/helpers.rb', line 4

def artifact_fetch_command
  project = CircleCI::Project.new(
    organization: settings[:circleci_user],
    name: settings[:circleci_project]
  )

  recent_builds = project.recent_builds settings[:branch]

  successful_for_job =
    recent_builds
      .select { |build| build.status == 'success' && build.job_name == settings[:circleci_job_name] }
      .sort { |a, b| a.build_number <=> b.build_number }

  build_artifacts = successful_for_job.last.artifacts

  deploy_artifact = build_artifacts.find { |artifact| artifact.filename == settings[:circleci_artifact] }
  api_token = CircleCI::Client.instance.api_token
  curl = CurlCommand.new deploy_artifact.url, settings[:circleci_artifact], api_token
  curl.to_s
rescue RuntimeError => e
  puts "Unable to determine url for deployment artifact"
  puts e.message
end

#options_whitelistObject



28
29
30
31
32
# File 'lib/mina-circle/helpers.rb', line 28

def options_whitelist
  [
    :branch
  ]
end