ops_team 1.21.1 → 2.0.0.rc3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/ops +4 -40
- data/build/darwin_amd64/ops +0 -0
- data/build/darwin_arm64/ops +0 -0
- data/build/linux_amd64/ops +0 -0
- metadata +12 -224
- data/Gemfile +0 -30
- data/bin/benchmark +0 -185
- data/bin/print_config +0 -4
- data/bin/print_secrets +0 -4
- data/bin/tag +0 -16
- data/etc/ops.template.yml +0 -13
- data/etc/ruby.template.yml +0 -37
- data/etc/terraform.template.yml +0 -36
- data/lib/action.rb +0 -103
- data/lib/action_list.rb +0 -55
- data/lib/action_suggester.rb +0 -17
- data/lib/app_config.rb +0 -69
- data/lib/builtin.rb +0 -51
- data/lib/builtins/background.rb +0 -46
- data/lib/builtins/background_log.rb +0 -34
- data/lib/builtins/common/up_down.rb +0 -67
- data/lib/builtins/countdown.rb +0 -73
- data/lib/builtins/down.rb +0 -9
- data/lib/builtins/env.rb +0 -21
- data/lib/builtins/envdiff.rb +0 -127
- data/lib/builtins/exec.rb +0 -24
- data/lib/builtins/help.rb +0 -66
- data/lib/builtins/helpers/dependency_handler.rb +0 -27
- data/lib/builtins/helpers/enumerator.rb +0 -34
- data/lib/builtins/init.rb +0 -64
- data/lib/builtins/up.rb +0 -9
- data/lib/builtins/version.rb +0 -17
- data/lib/dependencies/apk.rb +0 -24
- data/lib/dependencies/apt.rb +0 -42
- data/lib/dependencies/brew.rb +0 -22
- data/lib/dependencies/cask.rb +0 -13
- data/lib/dependencies/custom.rb +0 -45
- data/lib/dependencies/dir.rb +0 -22
- data/lib/dependencies/docker.rb +0 -17
- data/lib/dependencies/gem.rb +0 -36
- data/lib/dependencies/helpers/apt_cache_policy.rb +0 -43
- data/lib/dependencies/pip.rb +0 -32
- data/lib/dependencies/snap.rb +0 -32
- data/lib/dependencies/sshkey.rb +0 -121
- data/lib/dependencies/versioned_dependency.rb +0 -25
- data/lib/dependency.rb +0 -69
- data/lib/environment.rb +0 -47
- data/lib/executor.rb +0 -20
- data/lib/forward.rb +0 -15
- data/lib/forwards.rb +0 -16
- data/lib/hook_handler.rb +0 -41
- data/lib/ops.rb +0 -129
- data/lib/options.rb +0 -22
- data/lib/output.rb +0 -71
- data/lib/profiler.rb +0 -47
- data/lib/runner.rb +0 -110
- data/lib/secrets.rb +0 -55
- data/lib/version.rb +0 -38
- data/loader.rb +0 -10
- data/ops_team.gemspec +0 -36
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 289a7688ae262cd56429fc033a1ef4f58c15abadcf7e1e06eb83b1400e281821
|
4
|
+
data.tar.gz: e06e086625b6d1ce948f90d647cb2806ebaa9b2c395c6e2a5ed237b8862d84b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb8a499b2e437e239a1157a8c30c4748792913278c7717043ad43438a60b2a8495c3a5c8665bb155febddf964106ae9ecec70b005855112a1aa4a3886f2a7c4d
|
7
|
+
data.tar.gz: 7643258e1a832c25e72c98058e4b05d9248454c431a4f6b28a63a6d88c4f98f3447eed7808f52721cc4e1e0996740550de823cd0c2da18201da05c6cb24e8aa3
|
data/bin/ops
CHANGED
@@ -1,42 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
2
|
+
bindir = `uname -sm | tr A-Z a-z | tr ' ' _`
|
3
|
+
binpath = File.expand_path("../build/#{bindir}", __FILE__)
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
require_relative '../lib/profiler'
|
7
|
-
require 'optparse'
|
8
|
-
|
9
|
-
def usage
|
10
|
-
puts "Usage: ops [-f|--file <ops_yml>] action [<action args>"
|
11
|
-
puts " ops_yml: the config file to load instead of './ops.yml'"
|
12
|
-
puts " action_args: arguments to the action loaded from the config file; depends on the action"
|
13
|
-
|
14
|
-
exit(1)
|
15
|
-
end
|
16
|
-
|
17
|
-
options = {}
|
18
|
-
status = -1
|
19
|
-
|
20
|
-
while ARGV[0]&.match(/^-/)
|
21
|
-
opt = ARGV.shift
|
22
|
-
case opt
|
23
|
-
when '-f', '--file'
|
24
|
-
usage unless ARGV.length >= 1
|
25
|
-
|
26
|
-
options[:file] = ARGV.shift
|
27
|
-
else
|
28
|
-
usage
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
Profiler.measure("bin:require") do
|
33
|
-
require_relative "../loader"
|
34
|
-
end
|
35
|
-
|
36
|
-
Profiler.measure("bin:run") do
|
37
|
-
status = Ops.new(ARGV, config_file: options[:file]).run
|
38
|
-
end
|
39
|
-
|
40
|
-
Profiler.add_measurement("bin:all", Process.clock_gettime(Process::CLOCK_MONOTONIC) - start_time)
|
41
|
-
Output.error(Profiler.summary) if Profiler.summary
|
42
|
-
exit status
|
5
|
+
ENV['PATH'] = "#{binpath}:#{ENV.fetch('PATH')}"
|
6
|
+
exec "ops", *ARGV
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,175 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ops_team
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0.rc3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nickthecook@gmail.com
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bcrypt_pbkdf
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.0'
|
20
|
-
- - ">="
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 1.0.1
|
23
|
-
type: :runtime
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
requirements:
|
27
|
-
- - "~>"
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '1.0'
|
30
|
-
- - ">="
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 1.0.1
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: colorize
|
35
|
-
requirement: !ruby/object:Gem::Requirement
|
36
|
-
requirements:
|
37
|
-
- - "~>"
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: '0.8'
|
40
|
-
- - ">="
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: 0.8.1
|
43
|
-
type: :runtime
|
44
|
-
prerelease: false
|
45
|
-
version_requirements: !ruby/object:Gem::Requirement
|
46
|
-
requirements:
|
47
|
-
- - "~>"
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: '0.8'
|
50
|
-
- - ">="
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: 0.8.1
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: concurrent-ruby
|
55
|
-
requirement: !ruby/object:Gem::Requirement
|
56
|
-
requirements:
|
57
|
-
- - "~>"
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
version: '1.1'
|
60
|
-
- - ">="
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: 1.1.7
|
63
|
-
type: :runtime
|
64
|
-
prerelease: false
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
66
|
-
requirements:
|
67
|
-
- - "~>"
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '1.1'
|
70
|
-
- - ">="
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
version: 1.1.7
|
73
|
-
- !ruby/object:Gem::Dependency
|
74
|
-
name: ed25519
|
75
|
-
requirement: !ruby/object:Gem::Requirement
|
76
|
-
requirements:
|
77
|
-
- - "~>"
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version: '1.2'
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 1.2.4
|
83
|
-
type: :runtime
|
84
|
-
prerelease: false
|
85
|
-
version_requirements: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '1.2'
|
90
|
-
- - ">="
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
version: 1.2.4
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: ejson
|
95
|
-
requirement: !ruby/object:Gem::Requirement
|
96
|
-
requirements:
|
97
|
-
- - "~>"
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version: '1.2'
|
100
|
-
- - ">="
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: 1.2.1
|
103
|
-
type: :runtime
|
104
|
-
prerelease: false
|
105
|
-
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
requirements:
|
107
|
-
- - "~>"
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '1.2'
|
110
|
-
- - ">="
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
version: 1.2.1
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
name: net-ssh
|
115
|
-
requirement: !ruby/object:Gem::Requirement
|
116
|
-
requirements:
|
117
|
-
- - "~>"
|
118
|
-
- !ruby/object:Gem::Version
|
119
|
-
version: '7.1'
|
120
|
-
- - ">="
|
121
|
-
- !ruby/object:Gem::Version
|
122
|
-
version: 7.1.0
|
123
|
-
type: :runtime
|
124
|
-
prerelease: false
|
125
|
-
version_requirements: !ruby/object:Gem::Requirement
|
126
|
-
requirements:
|
127
|
-
- - "~>"
|
128
|
-
- !ruby/object:Gem::Version
|
129
|
-
version: '7.1'
|
130
|
-
- - ">="
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version: 7.1.0
|
133
|
-
- !ruby/object:Gem::Dependency
|
134
|
-
name: require_all
|
135
|
-
requirement: !ruby/object:Gem::Requirement
|
136
|
-
requirements:
|
137
|
-
- - "~>"
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
version: '1.1'
|
140
|
-
- - ">="
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
version: 1.1.6
|
143
|
-
type: :runtime
|
144
|
-
prerelease: false
|
145
|
-
version_requirements: !ruby/object:Gem::Requirement
|
146
|
-
requirements:
|
147
|
-
- - "~>"
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
version: '1.1'
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: 1.1.6
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: zeitwerk
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - "~>"
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '2.5'
|
160
|
-
- - ">="
|
161
|
-
- !ruby/object:Gem::Version
|
162
|
-
version: 2.5.3
|
163
|
-
type: :runtime
|
164
|
-
prerelease: false
|
165
|
-
version_requirements: !ruby/object:Gem::Requirement
|
166
|
-
requirements:
|
167
|
-
- - "~>"
|
168
|
-
- !ruby/object:Gem::Version
|
169
|
-
version: '2.5'
|
170
|
-
- - ">="
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
version: 2.5.3
|
11
|
+
date: 2023-05-01 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
173
13
|
description:
|
174
14
|
email:
|
175
15
|
executables:
|
@@ -177,63 +17,11 @@ executables:
|
|
177
17
|
extensions: []
|
178
18
|
extra_rdoc_files: []
|
179
19
|
files:
|
180
|
-
- Gemfile
|
181
|
-
- bin/benchmark
|
182
20
|
- bin/ops
|
183
|
-
-
|
184
|
-
-
|
185
|
-
-
|
186
|
-
|
187
|
-
- etc/ruby.template.yml
|
188
|
-
- etc/terraform.template.yml
|
189
|
-
- lib/action.rb
|
190
|
-
- lib/action_list.rb
|
191
|
-
- lib/action_suggester.rb
|
192
|
-
- lib/app_config.rb
|
193
|
-
- lib/builtin.rb
|
194
|
-
- lib/builtins/background.rb
|
195
|
-
- lib/builtins/background_log.rb
|
196
|
-
- lib/builtins/common/up_down.rb
|
197
|
-
- lib/builtins/countdown.rb
|
198
|
-
- lib/builtins/down.rb
|
199
|
-
- lib/builtins/env.rb
|
200
|
-
- lib/builtins/envdiff.rb
|
201
|
-
- lib/builtins/exec.rb
|
202
|
-
- lib/builtins/help.rb
|
203
|
-
- lib/builtins/helpers/dependency_handler.rb
|
204
|
-
- lib/builtins/helpers/enumerator.rb
|
205
|
-
- lib/builtins/init.rb
|
206
|
-
- lib/builtins/up.rb
|
207
|
-
- lib/builtins/version.rb
|
208
|
-
- lib/dependencies/apk.rb
|
209
|
-
- lib/dependencies/apt.rb
|
210
|
-
- lib/dependencies/brew.rb
|
211
|
-
- lib/dependencies/cask.rb
|
212
|
-
- lib/dependencies/custom.rb
|
213
|
-
- lib/dependencies/dir.rb
|
214
|
-
- lib/dependencies/docker.rb
|
215
|
-
- lib/dependencies/gem.rb
|
216
|
-
- lib/dependencies/helpers/apt_cache_policy.rb
|
217
|
-
- lib/dependencies/pip.rb
|
218
|
-
- lib/dependencies/snap.rb
|
219
|
-
- lib/dependencies/sshkey.rb
|
220
|
-
- lib/dependencies/versioned_dependency.rb
|
221
|
-
- lib/dependency.rb
|
222
|
-
- lib/environment.rb
|
223
|
-
- lib/executor.rb
|
224
|
-
- lib/forward.rb
|
225
|
-
- lib/forwards.rb
|
226
|
-
- lib/hook_handler.rb
|
227
|
-
- lib/ops.rb
|
228
|
-
- lib/options.rb
|
229
|
-
- lib/output.rb
|
230
|
-
- lib/profiler.rb
|
231
|
-
- lib/runner.rb
|
232
|
-
- lib/secrets.rb
|
233
|
-
- lib/version.rb
|
234
|
-
- loader.rb
|
235
|
-
- ops_team.gemspec
|
236
|
-
homepage: https://github.com/nickthecook/ops
|
21
|
+
- build/darwin_amd64/ops
|
22
|
+
- build/darwin_arm64/ops
|
23
|
+
- build/linux_amd64/ops
|
24
|
+
homepage: https://github.com/nickthecook/crops
|
237
25
|
licenses:
|
238
26
|
- GPL-3.0-only
|
239
27
|
metadata: {}
|
@@ -243,16 +31,16 @@ require_paths:
|
|
243
31
|
- lib
|
244
32
|
required_ruby_version: !ruby/object:Gem::Requirement
|
245
33
|
requirements:
|
246
|
-
- - "
|
34
|
+
- - ">="
|
247
35
|
- !ruby/object:Gem::Version
|
248
|
-
version: '
|
36
|
+
version: '0'
|
249
37
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
250
38
|
requirements:
|
251
|
-
- - "
|
39
|
+
- - ">"
|
252
40
|
- !ruby/object:Gem::Version
|
253
|
-
version:
|
41
|
+
version: 1.3.1
|
254
42
|
requirements: []
|
255
|
-
rubygems_version: 3.
|
43
|
+
rubygems_version: 3.3.7
|
256
44
|
signing_key:
|
257
45
|
specification_version: 4
|
258
46
|
summary: ops_team handles basic automation for your project, driven by self-documenting
|
data/Gemfile
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
source "https://rubygems.org"
|
4
|
-
|
5
|
-
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
|
6
|
-
|
7
|
-
gem "bcrypt_pbkdf"
|
8
|
-
gem "colorize"
|
9
|
-
gem 'concurrent-ruby', require: 'concurrent'
|
10
|
-
gem "e2mmap"
|
11
|
-
gem "ed25519"
|
12
|
-
gem "ejson"
|
13
|
-
gem "io-console"
|
14
|
-
gem "json", ">= 2.3.0"
|
15
|
-
gem "net-ssh"
|
16
|
-
gem "require_all"
|
17
|
-
gem "zeitwerk"
|
18
|
-
|
19
|
-
group :test do
|
20
|
-
gem "fuubar"
|
21
|
-
gem "rspec"
|
22
|
-
end
|
23
|
-
|
24
|
-
group :development do
|
25
|
-
gem "irb"
|
26
|
-
gem "pry"
|
27
|
-
gem "pry-byebug"
|
28
|
-
gem "rerun"
|
29
|
-
gem "rubocop"
|
30
|
-
end
|
data/bin/benchmark
DELETED
@@ -1,185 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
require 'json'
|
5
|
-
require 'colorize'
|
6
|
-
|
7
|
-
COMMANDS = [
|
8
|
-
"version",
|
9
|
-
"env",
|
10
|
-
"help",
|
11
|
-
"exec echo hi",
|
12
|
-
"env OPS_AUTO_COMPLETE=true"
|
13
|
-
].freeze
|
14
|
-
|
15
|
-
class Runner
|
16
|
-
RUNS = 10
|
17
|
-
WARMUPS = 3
|
18
|
-
|
19
|
-
attr_reader :command, :version
|
20
|
-
|
21
|
-
def initialize(command, version)
|
22
|
-
@command = command
|
23
|
-
@version = version
|
24
|
-
end
|
25
|
-
|
26
|
-
def run
|
27
|
-
unless File.exist?(json_file)
|
28
|
-
system(
|
29
|
-
"hyperfine -m #{RUNS} \
|
30
|
-
--export-json #{json_file} \
|
31
|
-
--export-markdown #{markdown_file} \
|
32
|
-
--warmup #{WARMUPS} \
|
33
|
-
'#{@command}'"
|
34
|
-
)
|
35
|
-
end
|
36
|
-
|
37
|
-
results
|
38
|
-
end
|
39
|
-
|
40
|
-
def results
|
41
|
-
# for now, only ever one result, since we're not having hyperfine vary params
|
42
|
-
@results ||= JSON.parse(results_data)["results"].first
|
43
|
-
end
|
44
|
-
|
45
|
-
def method_missing(method, *_, &_)
|
46
|
-
results[method.to_s]
|
47
|
-
end
|
48
|
-
|
49
|
-
def respond_to_missing?(method, _ = false)
|
50
|
-
results&.keys&.include?(method.to_s)
|
51
|
-
end
|
52
|
-
|
53
|
-
def json_file
|
54
|
-
@json_file ||= "#{output_file}.json"
|
55
|
-
end
|
56
|
-
|
57
|
-
def markdown_file
|
58
|
-
@markdown_file ||= "#{output_file}.md"
|
59
|
-
end
|
60
|
-
|
61
|
-
private
|
62
|
-
|
63
|
-
def output_file
|
64
|
-
"benchmark/#{@version}-#{@command.gsub(" ", "_").gsub("/", "-")}"
|
65
|
-
end
|
66
|
-
|
67
|
-
def results_data
|
68
|
-
File.read(json_file)
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
class Benchmark
|
73
|
-
attr_reader :executable
|
74
|
-
|
75
|
-
def initialize(executable)
|
76
|
-
@executable = executable
|
77
|
-
end
|
78
|
-
|
79
|
-
def run
|
80
|
-
runners.map(&:run)
|
81
|
-
|
82
|
-
runners.map(&:mean)
|
83
|
-
end
|
84
|
-
|
85
|
-
def version
|
86
|
-
@version ||= `#{@executable} version`.chomp
|
87
|
-
end
|
88
|
-
|
89
|
-
def runners
|
90
|
-
@runners ||= COMMANDS.map do |cmd|
|
91
|
-
Runner.new("#{@executable} #{cmd}", version)
|
92
|
-
end
|
93
|
-
end
|
94
|
-
end
|
95
|
-
|
96
|
-
class Benchmarker
|
97
|
-
CLR_THRESHOLD = 0.1
|
98
|
-
CLR_WIDTH = 14
|
99
|
-
COL_WIDTH = 24
|
100
|
-
CMD_WIDTH = 30
|
101
|
-
|
102
|
-
def initialize(*executables)
|
103
|
-
@executables = executables
|
104
|
-
end
|
105
|
-
|
106
|
-
def summary
|
107
|
-
result_pairs = results.first.zip(results.last)
|
108
|
-
|
109
|
-
output = header
|
110
|
-
COMMANDS.length.times do |index|
|
111
|
-
output << format(
|
112
|
-
"%#{CMD_WIDTH + CLR_WIDTH}s %#{COL_WIDTH}s %#{COL_WIDTH + CLR_WIDTH}s",
|
113
|
-
COMMANDS[index].white,
|
114
|
-
*result_strings(result_pairs[index])
|
115
|
-
)
|
116
|
-
end
|
117
|
-
output << summary_numbers
|
118
|
-
|
119
|
-
output.join("\n")
|
120
|
-
end
|
121
|
-
|
122
|
-
def benchmarks
|
123
|
-
@benchmarks ||= @executables.map do |executable|
|
124
|
-
Benchmark.new(executable)
|
125
|
-
end
|
126
|
-
end
|
127
|
-
|
128
|
-
def results
|
129
|
-
@results ||= benchmarks.map(&:run)
|
130
|
-
end
|
131
|
-
|
132
|
-
private
|
133
|
-
|
134
|
-
def result_pairs
|
135
|
-
@result_pairs ||= results.first.zip(results.last)
|
136
|
-
end
|
137
|
-
|
138
|
-
def header
|
139
|
-
[
|
140
|
-
format(
|
141
|
-
"%#{CMD_WIDTH}s %#{COL_WIDTH + CLR_WIDTH}s %#{COL_WIDTH + CLR_WIDTH}s",
|
142
|
-
"", *benchmarks.map { |b| b.executable.white }
|
143
|
-
),
|
144
|
-
format(
|
145
|
-
"%#{CMD_WIDTH}s %#{COL_WIDTH + CLR_WIDTH}s %#{COL_WIDTH + CLR_WIDTH}s",
|
146
|
-
"", *benchmarks.map { |b| b.version.white }
|
147
|
-
)
|
148
|
-
]
|
149
|
-
end
|
150
|
-
|
151
|
-
def result_strings(pair)
|
152
|
-
colour = :blue
|
153
|
-
if pair.last < (pair.first * (1 - CLR_THRESHOLD))
|
154
|
-
colour = :green
|
155
|
-
elsif pair.last < (pair.first * CLR_THRESHOLD)
|
156
|
-
colour = :red
|
157
|
-
end
|
158
|
-
|
159
|
-
outputs = pair.map { |number| format("%02.3f", number) }
|
160
|
-
|
161
|
-
outputs[1] = outputs.last.send(colour)
|
162
|
-
|
163
|
-
outputs
|
164
|
-
end
|
165
|
-
|
166
|
-
def summary_numbers
|
167
|
-
format(
|
168
|
-
"%#{CMD_WIDTH + CLR_WIDTH}s %#{COL_WIDTH}s %#{COL_WIDTH + CLR_WIDTH}s",
|
169
|
-
"Avg difference".white, "-", avg_diff_string.white
|
170
|
-
)
|
171
|
-
end
|
172
|
-
|
173
|
-
def avg_diff_string
|
174
|
-
format("%02.3f", avg_diff)
|
175
|
-
end
|
176
|
-
|
177
|
-
def avg_diff
|
178
|
-
result_pairs.each_with_object([]) do |pair, diff|
|
179
|
-
diff << pair.first - pair.last
|
180
|
-
end.sum / result_pairs.length
|
181
|
-
end
|
182
|
-
end
|
183
|
-
|
184
|
-
`rm -f benchmark/*.json benchmark/*.md` unless %w[--skip -s].include?(ARGV[0])
|
185
|
-
puts Benchmarker.new("ops", "bin/ops").summary
|
data/bin/print_config
DELETED
data/bin/print_secrets
DELETED
data/bin/tag
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
# tags a commit, asking for input when needed
|
3
|
-
|
4
|
-
if [ -n "$1" ]; then
|
5
|
-
tag="$1"
|
6
|
-
else
|
7
|
-
tag=$(grep -o "'[0-9.]*'" ops_team.gemspec | sed "s/'//g")
|
8
|
-
if [ -z "$tag" ]; then
|
9
|
-
read -p "Enter tag value: " tag
|
10
|
-
fi
|
11
|
-
fi
|
12
|
-
|
13
|
-
comment="Tagging $tag for release"
|
14
|
-
echo "Tagging '$tag' with comment '$comment'..."
|
15
|
-
git tag -a "$tag" -m "$comment"
|
16
|
-
git push origin "$tag"
|
data/etc/ops.template.yml
DELETED
data/etc/ruby.template.yml
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
dependencies:
|
2
|
-
gem:
|
3
|
-
- bundler
|
4
|
-
- rerun
|
5
|
-
custom:
|
6
|
-
- bundle
|
7
|
-
actions:
|
8
|
-
start:
|
9
|
-
command: echo update me
|
10
|
-
description: starts the app
|
11
|
-
stop:
|
12
|
-
command: echo update me too
|
13
|
-
description: stops the app
|
14
|
-
test:
|
15
|
-
command: rspec
|
16
|
-
alias: t
|
17
|
-
description: runs unit tests
|
18
|
-
test-watch:
|
19
|
-
command: rerun -x ops test
|
20
|
-
alias: tw
|
21
|
-
description: runs unit tests every time a file changes
|
22
|
-
lint:
|
23
|
-
command: bundle exec rubocop --safe-auto-correct
|
24
|
-
alias: l
|
25
|
-
description: runs rubocop with safe autocorrect
|
26
|
-
build:
|
27
|
-
command: gem build *.gemspec
|
28
|
-
alias: b
|
29
|
-
description: builds the gem
|
30
|
-
install:
|
31
|
-
command: gem install `ls -t *.gem | head -n1`
|
32
|
-
alias: i
|
33
|
-
description: installs the gem
|
34
|
-
build-and-install:
|
35
|
-
command: ops build && ops install
|
36
|
-
alias: bi
|
37
|
-
description: builds and installs the gem
|
data/etc/terraform.template.yml
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
dependencies:
|
2
|
-
brew:
|
3
|
-
- terraform
|
4
|
-
apt:
|
5
|
-
- terraform
|
6
|
-
custom:
|
7
|
-
- terraform init
|
8
|
-
actions:
|
9
|
-
apply:
|
10
|
-
command: terraform apply
|
11
|
-
alias: a
|
12
|
-
description: runs 'terraform apply'
|
13
|
-
apply-auto-approve:
|
14
|
-
command: ops apply --auto-approve
|
15
|
-
alias: aa
|
16
|
-
description: runs 'terraform apply' with auto-approve
|
17
|
-
destroy:
|
18
|
-
command: terraform destroy
|
19
|
-
alias: d
|
20
|
-
description: runs 'terraform destroy'
|
21
|
-
destroy-auto-approve:
|
22
|
-
command: ops destroy --auto-approve
|
23
|
-
alias: dd
|
24
|
-
description: runs 'terraform destroy' with auto-approve
|
25
|
-
plan:
|
26
|
-
command: terraform plan
|
27
|
-
alias: p
|
28
|
-
description: runs 'terraform plan'
|
29
|
-
graph:
|
30
|
-
command: terraform graph | dot -T pdf -o resource_graph.pdf
|
31
|
-
alias: g
|
32
|
-
description: runs 'terraform graph'
|
33
|
-
open-graph:
|
34
|
-
command: ops graph && open resource_graph.pdf
|
35
|
-
alias: og
|
36
|
-
description: opens the terraform graph with the OS 'open' command
|