st 0.0.0 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/st +4 -0
- data/lib/st.rb +46 -3
- metadata +26 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c06012377c62972bf2270cb3df1cf116ef69f7ce340c05c01ea38633c5d78034
|
4
|
+
data.tar.gz: 4c7ab5cb7a48ddd0fabd113aed756bc1c157f9a56d90e78f1dbd8956bce14c0a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42fb0ddd2ee50272af5b07cf49a202ac2163a82baf9779efa490c21b670b0c129861310900fa21b2188b1d928ddca7706791cd2ecdf230e6be437be2e3fbf452
|
7
|
+
data.tar.gz: 7423143506449ede6470df4b63983f69e86551c2a683cf1204a088661ff1f65114f6055f383feed82d0803ff8bdee693be512ea8ec6de4910e1958270647323e
|
data/bin/st
ADDED
data/lib/st.rb
CHANGED
@@ -1,5 +1,48 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
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.
|
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.
|
61
|
+
rubygems_version: 3.0.3
|
40
62
|
signing_key:
|
41
63
|
specification_version: 4
|
42
64
|
summary: Holla!
|