ws-style 6.5.2 → 6.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '080f20dbb2a789dae262e81c9bf0212430bae72c7e731d401f311b8b102a7a50'
4
- data.tar.gz: 5907fa3bfa4c9ad521a58b4aeb37ee602d4751dac3fce90c8aaee63fa69a55bb
3
+ metadata.gz: ae8ea0a7cacdc90bf66d5600b4fce89680944f906e64fdadbb8882006d995e83
4
+ data.tar.gz: 6cecff7ad37f5a6c65e843746144203c83b797865104123caa9ef2d132831011
5
5
  SHA512:
6
- metadata.gz: 9d6280ff2f2c040a8a8e4419e10c22b1664f3d2f4e7a15f5371d06fbc10b30495a66bebfbef85da8baabcc436e57a1e2e40a4b20390b3b849a68ad88c65d3d2c
7
- data.tar.gz: 3ec5c0a81583012046c85be1f8e29f56f43511669e04baea75336e278225e228bef0f122b18c4012e5f4ac1d29bd38e518bcb8d23c44dc3ea955927a70645c6c
6
+ metadata.gz: eaeb43b139d446c1fb12ed56f7839e6406e074fb18b593c05d7986e5a252383e6cef3603559919311867685571c31e235e44d36cc4283e93ff11d6f99e3fc608
7
+ data.tar.gz: 30052d6b7350289f8bf7a009ec41dc373a1e6ece98a2de96b63c6d97fcde9383c90e39fba48635724c6dfaa98ff88237dd2c177ca903d2ac5306609cc3149a2d
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: Pipeline
3
+ on:
4
+ - push
5
+ jobs:
6
+ build:
7
+ name: Build
8
+ runs-on: ubuntu-20.04
9
+ steps:
10
+ - uses: actions/checkout@v2
11
+ with:
12
+ ref: ${{ github.event.pull_request.head.sha }}
13
+ - uses: ruby/setup-ruby@v1
14
+ with:
15
+ ruby-version: 2.5.8
16
+ bundler-cache: true
17
+ - uses: r7kamura/rubocop-problem-matchers-action@v1
18
+ - name: Rubocop
19
+ run: bundle exec rubocop
20
+ - name: Run rspec
21
+ run: bundle exec rspec
22
+ - name: Release the gem
23
+ if: ${{ github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' }}
24
+ run: |
25
+ mkdir -p ~/.gem
26
+ cat << EOF > ~/.gem/credentials
27
+ ---
28
+ :github: Bearer ${GITHUB_TOKEN}
29
+ :rubygems_api_key: ${RUBYGEMS_API_KEY}
30
+ EOF
31
+ chmod 0600 ~/.gem/credentials
32
+ git config user.email "noreply@wealthsimple.com"
33
+ git config user.name "Wolfbot"
34
+ bundle exec rake release
35
+ env:
36
+ RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
data/.rubocop.yml CHANGED
@@ -1,2 +1,2 @@
1
1
  inherit_from:
2
- - default.yml
2
+ - core.yml
data/CHANGELOG.md CHANGED
@@ -4,6 +4,28 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## 6.7.0 - 2021-03-05
8
+ - Upgraded rubocop to 1.11.0
9
+ - Upgraded rubocop-performance to 1.10.1
10
+ - Upgraded rubocop-rails to 2.9.1
11
+ - Upgraded rubocop-rspec to 2.2.0
12
+ - Upgraded rubocop-vendor to 0.5.0
13
+
14
+ ## 6.6.3 - 2021-03-01
15
+ - One more version bump to get it published
16
+
17
+ ## 6.6.2 - 2021-03-01
18
+ - Use GitHub Actions to publish gem
19
+
20
+ ## 6.6.1 - 2021-03-01
21
+ - Mostly just trying to get the version number bumped
22
+
23
+ ## 6.6.0 - 2021-01-16
24
+ - Rubocop FilePath should respect ActiveSupport::Inflector config if included
25
+
26
+ ## 6.5.3 - 2020-12-17
27
+ - Disable extension suggestions
28
+
7
29
  ## 6.5.2 - 2020-12-17
8
30
  - Add backstage catalog file + sonarqube project settings
9
31
 
data/Rakefile CHANGED
@@ -10,17 +10,21 @@ RSpec::Core::RakeTask.new(:spec)
10
10
  task default: :spec
11
11
 
12
12
  desc 'Print out comments that can be used for a GitHub cop election'
13
- task :election do # rubocop:disable Rails/RakeEnvironment
13
+ task :election do
14
14
  configuration_path = File.expand_path('default.yml', File.dirname(__FILE__))
15
- RuboCop::ConfigLoader.load_file(configuration_path).pending_cops.each do |pending_cop|
15
+ configuration = RuboCop::ConfigLoader.load_file(configuration_path)
16
+ RuboCop::ConfigLoader.default_configuration.pending_cops.each do |pending_cop|
16
17
  base_urls = {
17
18
  'layout' => 'https://docs.rubocop.org/rubocop/cops_layout.html#layout',
19
+ 'gemspec' => 'https://docs.rubocop.org/rubocop/cops_gemspec.html#gemspec',
18
20
  'lint' => 'https://docs.rubocop.org/rubocop/cops_lint.html#lint',
19
21
  'style' => 'https://docs.rubocop.org/rubocop/cops_style.html#style',
20
22
  'performance' => 'https://docs.rubocop.org/rubocop-performance/cops_performance.html#performance',
21
23
  'rails' => 'https://docs.rubocop.org/rubocop-rails/cops_rails.html#rails',
22
24
  'rspec' => 'https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspec',
23
25
  }
26
+ next if configuration.key?(pending_cop.name)
27
+
24
28
  department, anchor = pending_cop.name.downcase.split('/')
25
29
  puts <<~COMMENT
26
30
  [**#{pending_cop.name}**](#{base_urls.fetch(department)}#{anchor})
@@ -29,3 +33,25 @@ task :election do # rubocop:disable Rails/RakeEnvironment
29
33
  COMMENT
30
34
  end
31
35
  end
36
+
37
+ desc 'Print out comments that can be used for a GitHub cop election'
38
+ task "election:config" do
39
+ configuration_path = File.expand_path('default.yml', File.dirname(__FILE__))
40
+ configuration = RuboCop::ConfigLoader.load_file(configuration_path)
41
+ pending_cops = RuboCop::ConfigLoader.default_configuration.pending_cops.reject { |cop|
42
+ configuration.key?(cop.name)
43
+ }
44
+ ascending_by_version = pending_cops.group_by { |cop|
45
+ cop.metadata.fetch('VersionAdded')
46
+ }.sort_by(&:first)
47
+ ascending_by_version.each do |(version, cops)|
48
+ puts "# #{version}"
49
+ cops.each do |cop|
50
+ puts <<~CONFIGURATION
51
+ #{cop.name}:
52
+ Enabled: True
53
+
54
+ CONFIGURATION
55
+ end
56
+ end
57
+ end
data/bin/rake ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rake' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("rake", "rake")
data/bin/rspec ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rspec' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("rspec-core", "rspec")
data/bin/rubocop ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rubocop' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("rubocop", "rubocop")
data/core.yml CHANGED
@@ -25,6 +25,7 @@ AllCops:
25
25
  - "public/**/*"
26
26
  - "tmp/**/*"
27
27
  - "vendor/**/*"
28
+ SuggestExtensions: false
28
29
 
29
30
  Layout/HashAlignment:
30
31
  EnforcedLastArgumentHashStyle: ignore_implicit
@@ -346,3 +347,119 @@ Style/SoleNestedConditional:
346
347
  # rubocop-performance 1.7
347
348
  Performance/Sum:
348
349
  Enabled: True
350
+
351
+ # rubocop 1.1
352
+ Lint/DuplicateRegexpCharacterClassElement:
353
+ Enabled: True
354
+
355
+ Lint/EmptyBlock:
356
+ Enabled: True
357
+
358
+ Lint/ToEnumArguments:
359
+ Enabled: True
360
+
361
+ Lint/UnmodifiedReduceAccumulator:
362
+ Enabled: True
363
+
364
+ Style/ArgumentsForwarding:
365
+ Enabled: True
366
+
367
+ Style/DocumentDynamicEvalDefinition:
368
+ Enabled: True
369
+
370
+ Style/SwapValues:
371
+ Enabled: True
372
+
373
+ # rubocop 1.2
374
+ Lint/NoReturnInBeginEndBlocks:
375
+ Enabled: True
376
+
377
+ Style/CollectionCompact:
378
+ Enabled: True
379
+
380
+ Style/NegatedIfElseCondition:
381
+ Enabled: True
382
+
383
+ # rubocop 1.3
384
+ Lint/DuplicateBranch:
385
+ Enabled: True
386
+
387
+ Lint/EmptyClass:
388
+ Enabled: False
389
+
390
+ Style/NilLambda:
391
+ Enabled: False
392
+
393
+ # rubocop 1.4
394
+ Style/RedundantArgument:
395
+ Enabled: True
396
+
397
+ # rubocop 1.5
398
+ Lint/UnexpectedBlockArity:
399
+ Enabled: True
400
+
401
+ # rubocop 1.7
402
+ Layout/SpaceBeforeBrackets:
403
+ Enabled: True
404
+
405
+ Lint/AmbiguousAssignment:
406
+ Enabled: True
407
+
408
+ Style/HashExcept:
409
+ Enabled: True
410
+
411
+ # rubocop 1.8
412
+ Lint/DeprecatedConstants:
413
+ Enabled: True
414
+
415
+ Lint/LambdaWithoutLiteralBlock:
416
+ Enabled: True
417
+
418
+ Lint/RedundantDirGlobSort:
419
+ Enabled: True
420
+
421
+ Style/EndlessMethod:
422
+ Enabled: True
423
+
424
+ Performance/CollectionLiteralInLoop:
425
+ Enabled: True
426
+
427
+ # rubocop 1.9
428
+ Lint/NumberedParameterAssignment:
429
+ Enabled: False
430
+
431
+ Lint/OrAssignmentToConstant:
432
+ Enabled: True
433
+
434
+ Lint/SymbolConversion:
435
+ Enabled: True
436
+
437
+ Lint/TripleQuotes:
438
+ Enabled: True
439
+
440
+ Style/IfWithBooleanLiteralBranches:
441
+ Enabled: False
442
+
443
+ # rubocop 1.10
444
+ Gemspec/DateAssignment:
445
+ Enabled: True
446
+
447
+ Style/HashConversion:
448
+ Enabled: True
449
+
450
+ # rubocop-performance 1.9
451
+ Performance/BlockGivenWithExplicitBlock:
452
+ Enabled: True
453
+
454
+ Performance/ConstantRegexp:
455
+ Enabled: True
456
+
457
+ Performance/MethodObjectAsBlock:
458
+ Enabled: True
459
+
460
+ # rubocop-performance 1.10
461
+ Performance/RedundantEqualityComparisonBlock:
462
+ Enabled: False
463
+
464
+ Performance/RedundantSplitRegexpArgument:
465
+ Enabled: True
data/lib/ws/style.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "ws/style/version"
2
+ require "ws/style/inflector"
2
3
 
3
4
  module Ws
4
5
  module Style
@@ -0,0 +1,17 @@
1
+ require 'rubocop-rspec'
2
+
3
+ module Ws
4
+ module Style
5
+ module Inflector
6
+ def camel_to_snake_case(string)
7
+ if defined?(ActiveSupport::Inflector)
8
+ ActiveSupport::Inflector.underscore(string)
9
+ else
10
+ super(string)
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+
17
+ ::RuboCop::Cop::RSpec::FilePath.prepend Ws::Style::Inflector
@@ -1,5 +1,5 @@
1
1
  module Ws
2
2
  module Style
3
- VERSION = '6.5.2'.freeze
3
+ VERSION = '6.7.0'.freeze
4
4
  end
5
5
  end
data/rails.yml CHANGED
@@ -59,3 +59,10 @@ Rails/SquishedSQLHeredocs:
59
59
 
60
60
  Rails/WhereNot:
61
61
  Enabled: True
62
+
63
+ # rubocop-rails 2.9
64
+ Rails/AttributeDefaultBlockValue:
65
+ Enabled: True
66
+
67
+ Rails/WhereEquals:
68
+ Enabled: True
data/ws-style.gemspec CHANGED
@@ -22,15 +22,14 @@ Gem::Specification.new do |s|
22
22
  s.require_paths = ['lib']
23
23
  s.required_ruby_version = '>= 2.5.7'
24
24
 
25
- s.add_dependency 'rubocop', '>= 1.0.0'
26
- s.add_dependency 'rubocop-performance', '>= 1.8.1'
27
- s.add_dependency 'rubocop-rails', '>= 2.8.1'
28
- s.add_dependency 'rubocop-rspec', '>= 1.44.1'
29
- s.add_dependency 'rubocop-vendor', '~> 0'
25
+ s.add_dependency 'rubocop', '>= 1.11.0'
26
+ s.add_dependency 'rubocop-performance', '>= 1.10.1'
27
+ s.add_dependency 'rubocop-rails', '>= 2.9.1'
28
+ s.add_dependency 'rubocop-rspec', '>= 2.2.0'
29
+ s.add_dependency 'rubocop-vendor', '>= 0.5.0'
30
30
 
31
31
  s.add_development_dependency 'bundler'
32
32
  s.add_development_dependency 'bundler-audit'
33
- s.add_development_dependency 'git'
34
33
  s.add_development_dependency 'rake'
35
- s.add_development_dependency 'rspec', '~> 3.9.0'
34
+ s.add_development_dependency 'rspec', '~> 3.10.0'
36
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ws-style
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.5.2
4
+ version: 6.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Graham
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-06 00:00:00.000000000 Z
11
+ date: 2021-03-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -16,70 +16,70 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.0.0
19
+ version: 1.11.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 1.0.0
26
+ version: 1.11.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rubocop-performance
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 1.8.1
33
+ version: 1.10.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 1.8.1
40
+ version: 1.10.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rubocop-rails
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 2.8.1
47
+ version: 2.9.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 2.8.1
54
+ version: 2.9.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rubocop-rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 1.44.1
61
+ version: 2.2.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: 1.44.1
68
+ version: 2.2.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rubocop-vendor
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 0.5.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 0.5.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -108,20 +108,6 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: git
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
111
  - !ruby/object:Gem::Dependency
126
112
  name: rake
127
113
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +128,14 @@ dependencies:
142
128
  requirements:
143
129
  - - "~>"
144
130
  - !ruby/object:Gem::Version
145
- version: 3.9.0
131
+ version: 3.10.0
146
132
  type: :development
147
133
  prerelease: false
148
134
  version_requirements: !ruby/object:Gem::Requirement
149
135
  requirements:
150
136
  - - "~>"
151
137
  - !ruby/object:Gem::Version
152
- version: 3.9.0
138
+ version: 3.10.0
153
139
  description: Shared config to enforce Ruby style consistently across Wealthsimple
154
140
  services.
155
141
  email:
@@ -158,10 +144,9 @@ executables: []
158
144
  extensions: []
159
145
  extra_rdoc_files: []
160
146
  files:
161
- - ".circleci/config.yml"
162
- - ".dependabot/config.yml"
163
147
  - ".github/CODEOWNERS"
164
148
  - ".github/PULL_REQUEST_TEMPLATE.md"
149
+ - ".github/workflows/pipeline.yml"
165
150
  - ".gitignore"
166
151
  - ".rspec"
167
152
  - ".rubocop.yml"
@@ -171,11 +156,15 @@ files:
171
156
  - README.md
172
157
  - Rakefile
173
158
  - bin/console
159
+ - bin/rake
160
+ - bin/rspec
161
+ - bin/rubocop
174
162
  - bin/setup
175
163
  - catalog-info.yaml
176
164
  - core.yml
177
165
  - default.yml
178
166
  - lib/ws/style.rb
167
+ - lib/ws/style/inflector.rb
179
168
  - lib/ws/style/version.rb
180
169
  - rails.yml
181
170
  - sonar-project.properties
@@ -198,7 +187,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
198
187
  - !ruby/object:Gem::Version
199
188
  version: '0'
200
189
  requirements: []
201
- rubygems_version: 3.0.3
190
+ rubyforge_project:
191
+ rubygems_version: 2.7.6.2
202
192
  signing_key:
203
193
  specification_version: 4
204
194
  summary: Shared rubocop config
data/.circleci/config.yml DELETED
@@ -1,111 +0,0 @@
1
- version: 2
2
-
3
- defaults: &defaults
4
- working_directory: ~/wealthsimple
5
- docker:
6
- - image: circleci/ruby:2.5.7
7
-
8
- references:
9
- attach_code_workspace: &attach_code_workspace
10
- attach_workspace:
11
- at: ~/wealthsimple
12
-
13
- restore_bundle_dependencies: &restore_bundle_dependencies
14
- run:
15
- name: Restore bundle dependencies from workspace
16
- command: bundle --path vendor/bundle
17
-
18
- jobs:
19
- checkout_and_bundle:
20
- <<: *defaults
21
- steps:
22
- - checkout
23
- - run: bundle install --jobs=4 --retry=3 --path vendor/bundle
24
- - persist_to_workspace:
25
- root: .
26
- paths: .
27
-
28
- rspec:
29
- <<: *defaults
30
- steps:
31
- - *attach_code_workspace
32
- - *restore_bundle_dependencies
33
- - run: bundle exec rspec
34
-
35
- lint_check:
36
- <<: *defaults
37
- steps:
38
- - *attach_code_workspace
39
- - *restore_bundle_dependencies
40
- - run: bundle exec rubocop --config=default.yml
41
- - run:
42
- name: Check default.yml for warnings
43
- command: "! bundle exec rubocop --config=default.yml 2>&1 | grep 'Warning:'"
44
-
45
- vulnerability_check:
46
- <<: *defaults
47
- steps:
48
- - *attach_code_workspace
49
- - *restore_bundle_dependencies
50
- - run: bundle exec bundle-audit update && bundle exec bundle-audit check
51
-
52
- release:
53
- <<: *defaults
54
- steps:
55
- - add_ssh_keys:
56
- fingerprints:
57
- - "46:b5:cb:ee:57:dc:14:95:31:be:12:13:4f:11:94:a4"
58
- - *attach_code_workspace
59
- - *restore_bundle_dependencies
60
- - run:
61
- name: Release to rubygems.org
62
- command: |
63
- echo "github.com,192.30.253.112 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==" >> ~/.ssh/known_hosts
64
- mkdir ~/.gem
65
- echo ":rubygems_api_key: ${RUBYGEMS_API_KEY}" >> ~/.gem/credentials
66
- chmod 600 ~/.gem/credentials
67
- bundle exec rake release
68
-
69
- workflows:
70
- version: 2
71
- build:
72
- jobs:
73
- - checkout_and_bundle:
74
- context: wealthsimple
75
- - rspec:
76
- context: wealthsimple
77
- requires:
78
- - checkout_and_bundle
79
- - lint_check:
80
- context: wealthsimple
81
- requires:
82
- - checkout_and_bundle
83
- - vulnerability_check:
84
- context: wealthsimple
85
- requires:
86
- - checkout_and_bundle
87
- - release:
88
- context: wealthsimple
89
- filters:
90
- branches:
91
- only: master
92
- requires:
93
- - rspec
94
- - lint_check
95
- - vulnerability_check
96
-
97
- security-audit:
98
- triggers:
99
- - schedule:
100
- # 11:05 am UTC: 6:05 am EST / 7:05 am EDT
101
- cron: "5 11 * * *"
102
- filters:
103
- branches:
104
- only: master
105
- jobs:
106
- - checkout_and_bundle:
107
- context: wealthsimple
108
- - vulnerability_check:
109
- context: wealthsimple
110
- requires:
111
- - checkout_and_bundle
@@ -1,9 +0,0 @@
1
- version: 1
2
- update_configs:
3
- - package_manager: "ruby:bundler"
4
- directory: "/"
5
- update_schedule: "weekly"
6
- automerged_updates:
7
- - match:
8
- dependency_type: "development"
9
- update_type: "all"