wavefront-cli 8.5.0 → 8.5.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 363b1be94331165aacf1538c797d07bdbefda71e801335bb4e35df97cb0bd950
4
- data.tar.gz: 5563b27f93c679dde5947c220d80c37816ba6faf8844d08111cbf7dcc65a76c1
3
+ metadata.gz: 5f464387b5dfcc05cdec2af09eaf006ff9544d880185a21fc787ba25b2d1686c
4
+ data.tar.gz: c90b1bd9e45e9aadcf4374dea2a3c8794c8560e371e5d597aad88f95ffcd813f
5
5
  SHA512:
6
- metadata.gz: ce61f68ba09a6ba395143fa92abeadcdb0de127f8991fe61b979ae49379d026973c5d47a09d6d4f0b306006a15f95a717cac02160af0b727f2858ba66a9fddae
7
- data.tar.gz: 111d9d52a0e0c3955164e1872198531b9e2bd61184dc430050029efdf8d19f9cd845885a7f1d5d5685d03dbf7de0845453d95f888e13eb0195b83fd25437116d
6
+ metadata.gz: 24fb5ca35864e6624905e311430c73c16c5581d909f12af1e6183fac5e9717245c770a3bfcc552d60c78f63a43c077e38e43c7ce78317a71af9de535de5952b9
7
+ data.tar.gz: 55ab4e7a41e3139141d018be4c71505e66d42a9ead87a006c5a39eb7c50a342257ef706cef24680523a08b7a8a865f59ef391958d5556bad2c7d9a18e186e053
@@ -0,0 +1,37 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - '[0-9]+.[0-9]+.[0-9]+'
7
+
8
+ jobs:
9
+ build:
10
+ name: Build + Publish
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ - name: Set env
16
+ run: echo "RELEASE_VERSION=$(echo ${GITHUB_REF:10})" >> $GITHUB_ENV
17
+
18
+ - name: Set up Ruby 2.7
19
+ uses: ruby/setup-ruby@v1
20
+ with:
21
+ ruby-version: 2.7
22
+ - run: bundle install
23
+
24
+ - name: Run tests
25
+ run: bundle exec rake
26
+
27
+ - name: Build Gem
28
+ run: bundle exec rake build
29
+
30
+ - name: Publish to RubyGems
31
+ run: |
32
+ mkdir -p ${HOME}/.gem
33
+ echo -e "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}" >${HOME}/.gem/credentials
34
+ chmod 0600 ${HOME}/.gem/credentials
35
+ gem push pkg/*.gem
36
+ env:
37
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
@@ -0,0 +1,23 @@
1
+ name: Test
2
+
3
+ on:
4
+ push:
5
+ branches-ignore: release
6
+
7
+ jobs:
8
+ test:
9
+ runs-on: ubuntu-latest
10
+ strategy:
11
+ matrix:
12
+ ruby-version: [2.5.8, 2.6.6, 2.7.2]
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ - name: Set up Ruby
16
+ uses: ruby/setup-ruby@v1
17
+ with:
18
+ ruby-version: ${{ matrix.ruby-version }}
19
+ bundler-cache: true
20
+ - name: Install dependencies
21
+ run: bundle install
22
+ - name: Run tests
23
+ run: bundle exec rake
@@ -1,19 +1,23 @@
1
1
  ---
2
-
3
2
  AllCops:
4
3
  TargetRubyVersion: 2.5
5
4
  NewCops: enable
6
5
 
6
+ require:
7
+ - rubocop-rake
8
+ - rubocop-minitest
9
+ - rubocop-performance
10
+ - rubocop-performance
11
+
12
+ Layout/LineLength:
13
+ Max: 80 # Is nothing sacred?
7
14
  Metrics/ClassLength:
8
15
  Max: 400
9
-
16
+ Naming/VariableNumber:
17
+ Enabled: false
10
18
  Style/IfUnlessModifier:
11
19
  Enabled: false # because it wants to make lines >80 chars
12
20
  Style/StringConcatenation:
13
21
  Enabled: false
14
22
  Style/OptionalBooleanParameter:
15
23
  Enabled: false
16
-
17
- # Is nothing sacred?
18
- Layout/LineLength:
19
- Max: 80
data/HISTORY.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Changelog
2
2
 
3
+ ## 8.5.1 (2021-01-28)
4
+ * Fix stack trace when specifying an invalid time such as `Sunday`.
5
+
3
6
  ## 8.5.0 (2021-01-12)
4
7
  * Allow attachment of roles and ingestion policies when creating service
5
8
  accounts.
@@ -1,19 +1,8 @@
1
1
  ---
2
- AllCops:
3
- NewCops: enable
2
+ inherit_from:
3
+ - ../../../.rubocop.yml
4
4
 
5
5
  # There are long things in here, but they're fine
6
6
  #
7
7
  Metrics/MethodLength:
8
8
  Max: 25
9
-
10
- # Is nothing sacred?
11
- Layout/LineLength:
12
- Max: 80
13
-
14
- Style/IfUnlessModifier:
15
- Enabled: false # because it wants to make lines >80 chars
16
- Style/StringConcatenation:
17
- Enabled: false
18
- Style/OptionalBooleanParameter:
19
- Enabled: false
@@ -399,9 +399,10 @@ module WavefrontDisplay
399
399
  # @return [String, String] DateTime formatter, strptime formatter
400
400
  #
401
401
  def time_formats(str)
402
- if str =~ /^\d{13}$/
402
+ case str
403
+ when /^\d{13}$/
403
404
  ['%Q', HUMAN_TIME_FORMAT_MS]
404
- elsif str =~ /^\d{10}$/
405
+ when /^\d{10}$/
405
406
  ['%s', HUMAN_TIME_FORMAT]
406
407
  else
407
408
  raise ArgumentError
@@ -39,7 +39,7 @@ class WavefrontSparkline
39
39
  return vals if vals.size < SPARK_WIDTH
40
40
 
41
41
  vals.<< vals.last if vals.size.odd?
42
- ret = vals.each_slice(2).with_object([]) { |s, a| a.<< s.inject(:+) / 2 }
42
+ ret = vals.each_slice(2).with_object([]) { |s, a| a.<< s.sum / 2 }
43
43
  make_fit(ret)
44
44
  end
45
45
 
@@ -41,7 +41,7 @@ module WavefrontCli
41
41
  end
42
42
 
43
43
  def event_file(id)
44
- id =~ /^\d{13}:.+/ ? dir + id : nil
44
+ /^\d{13}:.+/.match?(id) ? dir + id : nil
45
45
  end
46
46
 
47
47
  # We can override the temp directory with the WF_EVENT_STATE_DIR env var.
@@ -70,7 +70,7 @@ module WavefrontCli
70
70
  def event(id)
71
71
  if !id
72
72
  pop_event!
73
- elsif id =~ /^\d{13}:.+:\d+/
73
+ elsif /^\d{13}:.+:\d+/.match?(id)
74
74
  id
75
75
  else
76
76
  pop_event!(id)
@@ -7,26 +7,47 @@ module WavefrontCli
7
7
  #
8
8
  class Exception
9
9
  class CredentialError < RuntimeError; end
10
+
10
11
  class MandatoryValue < RuntimeError; end
12
+
11
13
  class ConfigFileNotFound < IOError; end
14
+
12
15
  class FileNotFound < IOError; end
16
+
13
17
  class ImpossibleSearch < RuntimeError; end
18
+
14
19
  class InsufficientData < RuntimeError; end
20
+
15
21
  class InvalidInput < RuntimeError; end
22
+
16
23
  class InvalidQuery < RuntimeError; end
24
+
17
25
  class InvalidValue < RuntimeError; end
26
+
18
27
  class ProfileExists < RuntimeError; end
28
+
19
29
  class ProfileNotFound < RuntimeError; end
30
+
20
31
  class SystemError < RuntimeError; end
32
+
21
33
  class UnhandledCommand < RuntimeError; end
34
+
22
35
  class UnparseableInput < RuntimeError; end
36
+
23
37
  class UnparseableResponse < RuntimeError; end
38
+
24
39
  class UnparseableSearchPattern < RuntimeError; end
40
+
25
41
  class UnsupportedFileFormat < RuntimeError; end
42
+
26
43
  class UnsupportedNoop < RuntimeError; end
44
+
27
45
  class UnsupportedOperation < RuntimeError; end
46
+
28
47
  class UnsupportedOutput < RuntimeError; end
48
+
29
49
  class UserGroupNotFound < RuntimeError; end
50
+
30
51
  class UserError < RuntimeError; end
31
52
  end
32
53
  end
@@ -8,6 +8,7 @@ module WavefrontCli
8
8
  # rubocop:disable Metrics/MethodLength
9
9
  # rubocop:disable Metrics/AbcSize
10
10
  # rubocop:disable Metrics/CyclomaticComplexity
11
+ # rubocop:disable Metrics/PerceivedComplexity
11
12
  def exception_handler(exception)
12
13
  case exception
13
14
  when WavefrontCli::Exception::UnhandledCommand
@@ -26,6 +27,8 @@ module WavefrontCli
26
27
  abort 'Connection timed out.'
27
28
  when Wavefront::Exception::InvalidPermission
28
29
  abort "'#{exception}' is not a valid Wavefront permission."
30
+ when Wavefront::Exception::InvalidTimestamp
31
+ abort "'#{exception}' is not a parseable time."
29
32
  when Wavefront::Exception::InvalidUserGroupId
30
33
  abort "'#{exception}' is not a valid user group ID."
31
34
  when Wavefront::Exception::InvalidAccountId
@@ -80,6 +83,7 @@ module WavefrontCli
80
83
  abort
81
84
  end
82
85
  end
86
+ # rubocop:enable Metrics/PerceivedComplexity
83
87
  # rubocop:enable Metrics/MethodLength
84
88
  # rubocop:enable Metrics/AbcSize
85
89
  # rubocop:enable Metrics/CyclomaticComplexity
@@ -29,7 +29,7 @@ module WavefrontCli
29
29
 
30
30
  def initialize(cli_opts = {})
31
31
  cred_opts = setup_cred_opts(cli_opts)
32
- cli_opts.reject! { |_k, v| v.nil? }
32
+ cli_opts.compact!
33
33
  @opts = DEFAULT_OPTS.merge(load_profile(cred_opts)).merge(cli_opts)
34
34
  rescue WavefrontCli::Exception::ConfigFileNotFound => e
35
35
  abort "Configuration file '#{e}' not found."
@@ -126,7 +126,7 @@ module WavefrontCli
126
126
  end
127
127
  end
128
128
 
129
- def handle_errcode_404(_status)
129
+ def handle_errcode404(_status)
130
130
  'Perhaps metric does not exist for given host.'
131
131
  end
132
132
  end
@@ -7,6 +7,8 @@ module WavefrontCli
7
7
  # CLI coverage for the v2 'settings' API.
8
8
  #
9
9
  class Settings < WavefrontCli::Base
10
+ JOBS = %w[invitePermissions defaultUserGroups].freeze
11
+
10
12
  def do_list_permissions
11
13
  wf.permissions
12
14
  end
@@ -24,10 +26,7 @@ module WavefrontCli
24
26
  k, v = o.split('=', 2)
25
27
  next unless v && !v.empty?
26
28
 
27
- if %w[invitePermissions defaultUserGroups].include?(k)
28
- v = v.include?(',') ? v.split(',') : [v]
29
- end
30
-
29
+ v = v.include?(',') ? v.split(',') : [v] if JOBS.include?(k)
31
30
  a[k] = v
32
31
  end
33
32
 
@@ -50,7 +50,7 @@ class String
50
50
  # undesirable line breaking. This puts it back
51
51
  #
52
52
  def restored
53
- tr('^', ' ').chomp("\n")
53
+ tr('^', ' ').chomp
54
54
  end
55
55
 
56
56
  # Fold long value lines in two-column output. The returned string
@@ -1,3 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- WF_CLI_VERSION = '8.5.0'
3
+ WF_CLI_VERSION = '8.5.1'
@@ -375,7 +375,7 @@ module WavefrontCli
375
375
  end
376
376
 
377
377
  def format_string_is_all_valid_chars?(fmt)
378
- return true if fmt =~ /^[dmstTv]+$/
378
+ return true if /^[dmstTv]+$/.match?(fmt)
379
379
 
380
380
  raise(WavefrontCli::Exception::UnparseableInput,
381
381
  'unsupported field in format string')
@@ -1,23 +1,8 @@
1
1
  ---
2
- AllCops:
3
- NewCops: enable
2
+ inherit_from:
3
+ - ../.rubocop.yml
4
4
 
5
5
  Metrics/MethodLength:
6
6
  Max: 30
7
-
8
7
  Metrics/AbcSize:
9
8
  Max: 45
10
-
11
- Metrics/ClassLength:
12
- Max: 300
13
-
14
- # Is nothing sacred?
15
- Layout/LineLength:
16
- Max: 80
17
-
18
- Style/IfUnlessModifier:
19
- Enabled: false # because it wants to make lines >80 chars
20
- Style/StringConcatenation:
21
- Enabled: false
22
- Style/OptionalBooleanParameter:
23
- Enabled: false
@@ -214,9 +214,9 @@ module Minitest
214
214
  private
215
215
 
216
216
  def mk_headers(token = nil)
217
- { 'Accept': /.*/,
217
+ { Accept: /.*/,
218
218
  'Accept-Encoding': /.*/,
219
- 'Authorization': 'Bearer ' + (token || '0123456789-ABCDEF'),
219
+ Authorization: 'Bearer ' + (token || '0123456789-ABCDEF'),
220
220
  'User-Agent': "wavefront-cli-#{WF_CLI_VERSION}" }
221
221
  end
222
222
 
@@ -72,7 +72,7 @@ class WavefrontCommmandBaseTest < MiniTest::Test
72
72
  next if skip_cmd && c.match(skip_cmd)
73
73
 
74
74
  assert_match(/^ \w+/, c)
75
- assert_includes(c, CMN) unless c =~ /--help$/
75
+ assert_includes(c, CMN) unless /--help$/.match?(c)
76
76
  end
77
77
  end
78
78
 
@@ -88,7 +88,7 @@ class WavefrontCommmandBaseTest < MiniTest::Test
88
88
  refute o.end_with?('.')
89
89
  end
90
90
 
91
- assert_equal(1, wf.options.split("\n").select(&:empty?).size)
91
+ assert_equal(1, wf.options.split("\n").count(&:empty?))
92
92
  end
93
93
 
94
94
  def test_opt_row
@@ -28,7 +28,7 @@ class WavefrontCommmandConfigTest < WavefrontCommmandBaseTest
28
28
  refute o.end_with?('.')
29
29
  end
30
30
 
31
- assert_equal(wf.options.split("\n").select(&:empty?).size, 0)
31
+ assert_equal(wf.options.split("\n").count(&:empty?), 0)
32
32
  end
33
33
 
34
34
  def test_commands
@@ -52,6 +52,7 @@ class WavefrontCliHelpTest < MiniTest::Test
52
52
  end
53
53
  end
54
54
 
55
+ # rubocop:disable Style/RedundantBegin
55
56
  def test_command_help
56
57
  SupportedCommands.new.all.each do |cmd|
57
58
  begin
@@ -66,6 +67,7 @@ class WavefrontCliHelpTest < MiniTest::Test
66
67
  end
67
68
  end
68
69
  end
70
+ # rubocop:enable Style/RedundantBegin
69
71
 
70
72
  def test_malformed_config
71
73
  capture_io do
@@ -19,7 +19,7 @@ class OptHandlerTest < MiniTest::Test
19
19
  x = WavefrontCli::OptHandler.new
20
20
  assert x.is_a?(WavefrontCli::OptHandler)
21
21
  assert x.opts.is_a?(Hash)
22
- assert x.opts.keys.include?(:endpoint)
22
+ assert x.opts.key?(:endpoint)
23
23
  end
24
24
 
25
25
  def test_missing_config
@@ -36,7 +36,7 @@ class OptHandlerTest < MiniTest::Test
36
36
  o = x.opts
37
37
  assert x.is_a?(WavefrontCli::OptHandler)
38
38
  assert o.is_a?(Hash)
39
- refute o.keys.include?(:token)
39
+ refute o.key?(:token)
40
40
  assert_equal(o[:endpoint], 'metrics.wavefront.com')
41
41
  end
42
42
 
@@ -52,7 +52,7 @@ class OptHandlerTest < MiniTest::Test
52
52
  assert_equal(o[:token], 'abcd1234')
53
53
  assert_nil o[:config]
54
54
  assert_equal(o[:endpoint], 'myendpoint.wavefront.com')
55
- refute o.keys.include?(:proxy)
55
+ refute o.key?(:proxy)
56
56
  ENV['WAVEFRONT_TOKEN'] = nil
57
57
  ENV['WAVEFRONT_ENDPOINT'] = nil
58
58
  end
@@ -6,7 +6,6 @@ require_relative '../../lib/wavefront-cli/serviceaccount'
6
6
 
7
7
  # Ensure 'serviceaccount' commands produce the correct API calls.
8
8
  #
9
- # rubocop:disable Metrics/ClassLength
10
9
  class ServiceAccountEndToEndTest < EndToEndTest
11
10
  include WavefrontCliTest::Describe
12
11
  # include WavefrontCliTest::Import
@@ -430,4 +429,3 @@ class ServiceAccountEndToEndTest < EndToEndTest
430
429
  identifier: 'sa::test' }
431
430
  end
432
431
  end
433
- # rubocop:enable Metrics/ClassLength
@@ -30,7 +30,10 @@ Gem::Specification.new do |gem|
30
30
 
31
31
  gem.add_development_dependency 'minitest', '~> 5.14'
32
32
  gem.add_development_dependency 'rake', '~> 13.0'
33
- gem.add_development_dependency 'rubocop', '0.91.0'
33
+ gem.add_development_dependency 'rubocop', '~> 1.9'
34
+ gem.add_development_dependency 'rubocop-minitest', '~> 0.10'
35
+ gem.add_development_dependency 'rubocop-performance', '~> 1.3'
36
+ gem.add_development_dependency 'rubocop-rake', '~> 0.5'
34
37
  gem.add_development_dependency 'spy', '~> 1.0.0'
35
38
  gem.add_development_dependency 'webmock', '~> 3.8'
36
39
  gem.add_development_dependency 'yard', '~> 0.9.5'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wavefront-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.5.0
4
+ version: 8.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Fisher
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-12 00:00:00.000000000 Z
11
+ date: 2021-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: docopt
@@ -90,16 +90,58 @@ dependencies:
90
90
  name: rubocop
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - '='
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1.9'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.9'
103
+ - !ruby/object:Gem::Dependency
104
+ name: rubocop-minitest
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
94
108
  - !ruby/object:Gem::Version
95
- version: 0.91.0
109
+ version: '0.10'
96
110
  type: :development
97
111
  prerelease: false
98
112
  version_requirements: !ruby/object:Gem::Requirement
99
113
  requirements:
100
- - - '='
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '0.10'
117
+ - !ruby/object:Gem::Dependency
118
+ name: rubocop-performance
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '1.3'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '1.3'
131
+ - !ruby/object:Gem::Dependency
132
+ name: rubocop-rake
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '0.5'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
101
143
  - !ruby/object:Gem::Version
102
- version: 0.91.0
144
+ version: '0.5'
103
145
  - !ruby/object:Gem::Dependency
104
146
  name: spy
105
147
  requirement: !ruby/object:Gem::Requirement
@@ -150,9 +192,10 @@ extensions: []
150
192
  extra_rdoc_files: []
151
193
  files:
152
194
  - ".codeclimate.yml"
195
+ - ".github/workflows/release.yml"
196
+ - ".github/workflows/test.yml"
153
197
  - ".gitignore"
154
198
  - ".rubocop.yml"
155
- - ".travis.yml"
156
199
  - Gemfile
157
200
  - HISTORY.md
158
201
  - LICENSE.txt
@@ -411,7 +454,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
411
454
  - !ruby/object:Gem::Version
412
455
  version: '0'
413
456
  requirements: []
414
- rubygems_version: 3.0.8
457
+ rubygems_version: 3.1.4
415
458
  signing_key:
416
459
  specification_version: 4
417
460
  summary: CLI for Wavefront API v2
@@ -1,20 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- rvm:
4
- - 2.5.8
5
- - 2.6.6
6
- - 2.7.1
7
- before_install: gem install bundler --no-document
8
- deploy:
9
- provider: rubygems
10
- api_key:
11
- secure: dpVC480pAmGQrkEeugPowxhYzM8Er9UDhY02u2P5ytrCXC9J05uGKvN8uZ6H8SJr1ZKUb7OGxCq+EVKrA/q1s6Cv07Xl9u1HiOR0cB4ZUW3wBl6TGdl7c/rcor5AQxjELTcWnhCJvTzB+i46a1s4AcWjGBIVEY7/b1iloj/Sm0U43UZPcWPaIl5xfnANBk6v9F5eEfQy5IXlQUQKtRLXzgyqwyJi7DQcNcnEXA0O33KKwka7QDQsycYE7axEiJGOBt0PbYiRUXRZBxKWnsrtq9Sk9QukYsZSQqZgkykV6ImvMYzWI/vUwDRl+dJWmyAG6K2mz4kqMjhiMkB4ctbj5sxDG1BzsBlNTTEb0P8PGBEYgcf4VBd7XDlEt0Sythp6ztn9EVtw35M22n5Q7sdgalf6TFrzQpp9sec3o4AqO3IXUIqRN4VD4vPRQVBJHcwFOuZ3EUO0VekUzCUO3R/mG4oHUIQ9VgRzrUuyYpCwuwWyoVKVA/AukHHW6Y7El2g+JlpP+ijf0ABpqusHENELVWnuCRcv36sxbyM6Rbt2JrT9FrG1oSAELz4yMS86Qhq104II89d6apGJT3thUH8n9m2KA16DmxQYXkNamfygCn3D5ogC2gcIgVicQnJma+405Pv43/a+PaKy/oKr3/H7IJJmoqHfiMyG9DtkFTWQrfA=
12
- gem: wavefront-cli
13
- on:
14
- tags: true
15
- repo: snltd/wavefront-cli
16
- ruby: 2.6.6
17
- notifications:
18
- email: false
19
- slack:
20
- secure: YrwfBiBscjUCHZIyPHH/FEm5VbHZN3AczHnlOJfETsAdsVpM+JOvHnoCaY0AGjvCvmFMPE9yg11yhwMfXZJVwjAC6b75VrXoCFIvC1tjLqFizuI4VBZXUZk3CQZK0pIh1ZRYVINa0LuYLDyxF0EG2N9KTYqQcMEsBwsVohsca+zjbjyIW5H0FeVWJC4QlFqVHBwFHvylfHnPjh0pQAn3sE9j7Of3W2HQVM753/lsOkMf3sHYOv8AOrzjTNqyrageTxUGnO91S41DirNdesrjF8Qg+/s1RSiNeYSZLkqI2pk+3sdkMkpA+2z2zQ/ZbgudS/38AVlh2Wb2KkmFw0+XhdpUGqQZgLlgWMDKoiS7j2dNQ3zA4guCZIQSW6gqR76wTUqeCZQ3UNalChAhACFnG0FmZj+AIE72r28dOH747zKEmTaoJt5FR7GlSoG6cH1EV9qTeIjZ/33ehL703E6qrWITjQ6VrNrPsTCt8rvoW2MV8TP9qb32JVJqWxabqUMBicIWLEeDjPyAmOZs32cWwfk9zcJ6hIJcFffkxgVJN0vU6Qi4tGWUmYK12EIclVgrKgvN1yHUrUN/r7+sUPX9WRj82RNFU6RSPircekV9oWj9Hr8A2imnFqiMTnPpSb56y02cG9FbwFPqxLSaNNV4lALzoBmluKv0RSeEWhRvrGI=