ops_team 1.21.1 → 2.0.0.rc3
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.
- 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
|