st 0.0.0 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/st +4 -0
  3. data/lib/st.rb +46 -3
  4. metadata +26 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2dc19fb5234e6ce10a8d0f6bf759b6c541bd00c132401b11a614f194453c450a
4
- data.tar.gz: eba3448c974e982503fe85170fc6f663bce6f605aee5d5f77b49c5555f3df154
3
+ metadata.gz: c06012377c62972bf2270cb3df1cf116ef69f7ce340c05c01ea38633c5d78034
4
+ data.tar.gz: 4c7ab5cb7a48ddd0fabd113aed756bc1c157f9a56d90e78f1dbd8956bce14c0a
5
5
  SHA512:
6
- metadata.gz: 4ad69e78aaf0e60e884ab7d142fa388345be5ae942f6faa8c1985fc64e3d6d9eed933bd02f65a7c163855d21c2475392dac4f9dcbd23589833f7f8dfad723540
7
- data.tar.gz: 3376d0bf9081f3ac12ec29ab4d88ba7a52c56a8d78e19e8c85d8cd3c5eed2f54a2de1a9ffb6ac61a366a8bca91dbdb6763cd3f0675c8efcee0ecdb9ad215358d
6
+ metadata.gz: 42fb0ddd2ee50272af5b07cf49a202ac2163a82baf9779efa490c21b670b0c129861310900fa21b2188b1d928ddca7706791cd2ecdf230e6be437be2e3fbf452
7
+ data.tar.gz: 7423143506449ede6470df4b63983f69e86551c2a683cf1204a088661ff1f65114f6055f383feed82d0803ff8bdee693be512ea8ec6de4910e1958270647323e
data/bin/st ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'st'
4
+ main
data/lib/st.rb CHANGED
@@ -1,5 +1,48 @@
1
- class ST
2
- def self.hi
3
- puts "hello, world!"
1
+ require 'open-uri'
2
+ require 'json'
3
+ require 'aws-sdk-codedeploy'
4
+
5
+ $stdout.sync = true
6
+
7
+ def main
8
+ ppls = get_ppls
9
+ ppls = ppls.select { |ppl| ppl['name'] == 'Backend application' }
10
+ ppls = ppls.uniq { |ppl| ppl['commit_sha'] }
11
+
12
+ deployments_info = get_deployments_info
13
+
14
+ ppls.each do |ppl|
15
+ sha = ppl['commit_sha']
16
+ state = ppl['state']
17
+ result = ppl['result'] || 'None'
18
+ deployment_info = deployments_info.find { |di| di.revision.git_hub_location.commit_id == ppl['commit_sha'] }
19
+ deployment_status = deployment_info ? deployment_info.status : 'None'
20
+ begin
21
+ printf("%s\t%s\t%-16s%s\n", state, result, deployment_status, sha)
22
+ rescue Errno::EPIPE
23
+ break
24
+ end
4
25
  end
5
26
  end
27
+
28
+ def get_ppls
29
+ root = 'https://studytube.semaphoreci.com/api/v1alpha'
30
+ project_id = '42370de0-9568-4c26-87ad-559b2294c3c1'
31
+ branch = 'master'
32
+ url = "#{root}/pipelines?project_id=#{project_id}&branch_name=#{branch}"
33
+ filepath = "#{ENV['HOME']}/.studytube/credentials/semaphoreci"
34
+ token = File.open(filepath) { |f| f.readline }.chomp
35
+ str = URI.open(url, 'Authorization' => "Token #{token}").read
36
+ JSON.parse(str)
37
+ end
38
+
39
+ def get_deployments_info
40
+ aws = Aws::CodeDeploy::Client.new
41
+
42
+ res = aws.list_deployments(
43
+ application_name: 'backend',
44
+ deployment_group_name: 'production',
45
+ )
46
+
47
+ aws.batch_get_deployments(deployment_ids: res.deployments).deployments_info
48
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: st
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kostya Dubinin
@@ -9,13 +9,35 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2020-02-27 00:00:00.000000000 Z
12
- dependencies: []
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: aws-sdk-codedeploy
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '1.27'
20
+ - - "~>"
21
+ - !ruby/object:Gem::Version
22
+ version: '1.27'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '1.27'
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.27'
13
33
  description: A CLI for Studytube
14
34
  email: kostya.dubinin@gmail.com
15
- executables: []
35
+ executables:
36
+ - st
16
37
  extensions: []
17
38
  extra_rdoc_files: []
18
39
  files:
40
+ - bin/st
19
41
  - lib/st.rb
20
42
  homepage: https://rubygems.org/gems/st
21
43
  licenses:
@@ -36,7 +58,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
36
58
  - !ruby/object:Gem::Version
37
59
  version: '0'
38
60
  requirements: []
39
- rubygems_version: 3.1.2
61
+ rubygems_version: 3.0.3
40
62
  signing_key:
41
63
  specification_version: 4
42
64
  summary: Holla!