envirobly 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8521bb77bbc2267680443ade9607012f3a4af41a372fe164773337ba950d348b
4
- data.tar.gz: 4488b8c5b290a1d33d70937d079de96763c9e38214678181947b5b3521e1610d
3
+ metadata.gz: a692c3ec890efdcb6ddf861e0503f3b64fe7266bcd460e4744aec19ab559fbcd
4
+ data.tar.gz: b65bf97e5d0e776035785b28566075818c2dd6db27a99c857a6300b1a4b7e9c3
5
5
  SHA512:
6
- metadata.gz: 9cc2a09ab7ee07c3a00ca3efb5991e5f012defb1c5292f477132ccb05d8683f1b2120b9104c9f0dfeaa29b0ebbc82ed886da2aaf0412aeb92ab0739d6ae9c0aa
7
- data.tar.gz: 55b4a08c6efddb24b5c7365955becb485e58bde5faba1e7e4c3407496dca7f2b286c0187601682aeb085aff879c4b9f65d24a0af42d7c564f2dc88ec239382f1
6
+ metadata.gz: 21b037970cc3dd974cb5f6660ff33fc846973565794b2601a7a64c1057c00fd320f673345428434184e9b17fbd3dc62a71d1c4495d0c32df5707921337d2c5ad
7
+ data.tar.gz: 86cf8cfce266fd410e669e05c29c0b28d297cba701fb2c991a759f45e0eb5b3ce61033f44d83f77269e0bc80feaae918172f587fa5546439804ec04b09e7f2cc
data/lib/envirobly/api.rb CHANGED
@@ -38,22 +38,29 @@ class Envirobly::Api
38
38
  end
39
39
  end
40
40
 
41
- private
42
- def get_as_json(uri, headers: {})
43
- request(uri, type: Net::HTTP::Get, headers:)
41
+ def get_as_json(url, headers: {})
42
+ request(url, type: Net::HTTP::Get, headers:)
43
+ end
44
+
45
+ def post_as_json(url, params: {}, headers: {})
46
+ request(url, type: Net::HTTP::Post, headers:) do |request|
47
+ request.body = params.to_json
44
48
  end
49
+ end
45
50
 
46
- def post_as_json(uri, params: {}, headers: {})
47
- request(uri, type: Net::HTTP::Post, headers:) do |request|
48
- request.body = params.to_json
49
- end
51
+ def put_as_json(url, params: {}, headers: {})
52
+ request(url, type: Net::HTTP::Put, headers:) do |request|
53
+ request.body = params.to_json
50
54
  end
55
+ end
51
56
 
57
+ private
52
58
  def api_v1_deployments_url
53
59
  URI::HTTPS.build(host: HOST, path: "/api/v1/deployments")
54
60
  end
55
61
 
56
- def request(uri, type:, headers: {})
62
+ def request(url, type:, headers: {})
63
+ uri = URI(url)
57
64
  http = Net::HTTP.new uri.host, uri.port
58
65
  http.use_ssl = true
59
66
  http.open_timeout = 10
@@ -39,18 +39,21 @@ class Envirobly::Deployment
39
39
  end
40
40
  end
41
41
 
42
- api = Envirobly::Api.new
43
- response = api.create_deployment params
44
- response = api.get_deployment_with_delay_and_retry response.object.fetch("url")
42
+ @api = Envirobly::Api.new
43
+ response = @api.create_deployment params
44
+ @url = response.object.fetch("url")
45
+ response = @api.get_deployment_with_delay_and_retry @url
45
46
  @credentials = Envirobly::Aws::Credentials.new response.object.fetch("credentials")
46
47
  @bucket = response.object.fetch("bucket")
47
48
 
48
49
  if archive_commit_and_upload
49
- $stderr.puts "Build context exported into #{archive_uri}"
50
+ $stderr.puts "Build context uploaded."
50
51
  else
51
52
  $stderr.puts "Error exporting build context. Aborting."
52
53
  exit 1
53
54
  end
55
+
56
+ # TODO: Output URL to watch the deployment progress
54
57
  end
55
58
 
56
59
  private
@@ -60,6 +63,13 @@ class Envirobly::Deployment
60
63
 
61
64
  def archive_commit_and_upload
62
65
  `git archive --format=tar.gz #{@commit.ref} | #{@credentials.as_inline_env_vars} aws s3 cp - #{archive_uri}`
63
- $?.success?
66
+ $?.success?.tap do |result|
67
+ params = {
68
+ deployment: {
69
+ build_context_available: result
70
+ }
71
+ }
72
+ @api.put_as_json @url, params: params
73
+ end
64
74
  end
65
75
  end
@@ -1,3 +1,3 @@
1
1
  module Envirobly
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: envirobly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Starsi