st 0.0.0 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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!