envirobly 0.3.2 → 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: c9db9acf27d0480b89b7829efadea376640b537d25b36203c7d46594085dce72
4
- data.tar.gz: 6a69d1efe90f96e9e4d6fd468f636f91172df47fe628e8e74df48b8bb6214a67
3
+ metadata.gz: a692c3ec890efdcb6ddf861e0503f3b64fe7266bcd460e4744aec19ab559fbcd
4
+ data.tar.gz: b65bf97e5d0e776035785b28566075818c2dd6db27a99c857a6300b1a4b7e9c3
5
5
  SHA512:
6
- metadata.gz: cc358238c869bd05a9f524ad746272f4d8a796b13e7c23691cc69764c9b6fa0b4b6a16282abde51635d020136c563acffa89a9803449d8c13c8aa180d9b5045b
7
- data.tar.gz: e656b358d128c91d68217430f53b6f3e8962b2149f043e03a9c812e12718f0e32b2613d51c7abbdaa7123eed0b6a25cf7754efd27b469e18701458649a8611e5
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
@@ -12,7 +12,13 @@ class Envirobly::Cli::Main < Envirobly::Base
12
12
  end
13
13
 
14
14
  desc "set_access_token TOKEN", "Save and use an access token generated at Envirobly"
15
- def set_access_token(token)
15
+ def set_access_token
16
+ token = ask("Access Token:", echo: false).strip
17
+ if token == ""
18
+ $stderr.puts "Token can't be empty."
19
+ exit 1
20
+ end
21
+
16
22
  Envirobly::AccessToken.new(token).save
17
23
  end
18
24
 
@@ -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
@@ -6,15 +6,15 @@ class Envirobly::Git::Commit
6
6
  end
7
7
 
8
8
  def exists?
9
- `git cat-file -t #{@ref}`.chomp("") == "commit"
9
+ `git cat-file -t #{@ref}`.strip == "commit"
10
10
  end
11
11
 
12
12
  def ref
13
- @normalized_ref ||= `git rev-parse #{@ref}`.chomp("")
13
+ @normalized_ref ||= `git rev-parse #{@ref}`.strip
14
14
  end
15
15
 
16
16
  def message
17
- `git log #{@ref} -n1 --pretty=%B`.chomp("")
17
+ `git log #{@ref} -n1 --pretty=%B`.strip
18
18
  end
19
19
 
20
20
  def time
@@ -1,3 +1,3 @@
1
1
  module Envirobly
2
- VERSION = "0.3.2"
2
+ VERSION = "0.4.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: envirobly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Starsi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-08 00:00:00.000000000 Z
11
+ date: 2024-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor