jt_tools 0.0.2 → 0.0.7

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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +35 -7
  3. data/.github/FUNDING.yml +4 -0
  4. data/.standard.yml +10 -0
  5. data/Gemfile +3 -1
  6. data/README.md +21 -11
  7. data/Rakefile +5 -5
  8. data/_config.yml +2 -1
  9. data/bin/test +22 -9
  10. data/jt_tools.gemspec +14 -14
  11. data/lib/install/.circleci/{config.yml.sample → config.yml} +72 -30
  12. data/lib/install/.dependabot/config.yml +3 -3
  13. data/lib/install/.editorconfig +70 -0
  14. data/lib/install/.erb-lint.yml +7 -7
  15. data/lib/install/.eslintrc.js +8 -11
  16. data/lib/install/.pronto.yml +3 -5
  17. data/lib/install/.reek.yml +8 -16
  18. data/lib/install/.rubocop.yml +59 -20
  19. data/lib/install/.simplecov +17 -0
  20. data/lib/install/{.yamllint → .yamllint.yml} +2 -1
  21. data/lib/install/Brewfile +15 -10
  22. data/lib/install/Gemfile.tools +4 -2
  23. data/lib/install/app.json +19 -41
  24. data/lib/install/bin/circleci-auto_upgrade_tools +3 -3
  25. data/lib/install/bin/git-hooks/{post-merge.sample → post-merge} +5 -10
  26. data/lib/install/bin/git-hooks/{pre-push.sample → pre-push} +1 -1
  27. data/lib/install/bin/heroku-postdeploy +1 -7
  28. data/lib/install/bin/heroku-release +4 -1
  29. data/lib/install/bin/{lint-github-pr → lint-pr} +0 -0
  30. data/lib/install/bin/tools-setup +1 -1
  31. data/lib/install/bin/tools-upgrade +2 -0
  32. data/lib/install/codecov.yml +5 -4
  33. data/lib/install/config/rails_best_practices.yml +43 -0
  34. data/lib/jt_tools.rb +3 -1
  35. data/lib/jt_tools/railtie.rb +4 -2
  36. data/lib/{version.rb → jt_tools/version.rb} +1 -1
  37. data/lib/tasks/install.rake +6 -4
  38. data/rejuvenation.rb +4 -5
  39. data/template.rb +139 -69
  40. metadata +14 -14
  41. data/_sample/test_erb.html.erb +0 -2
  42. data/_sample/test_eslint.js +0 -1
  43. data/_sample/test_yamlint.yml +0 -1
  44. data/lib/install/.prettierrc.js +0 -4
  45. data/lib/install/lib/test/coverage.rb +0 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b8fb6f06a07bd971f50e67990613d4e54c0d875cd267157a591274c3d0cdf2f8
4
- data.tar.gz: a2e443bb4c2f0c69736104afa340a439d7bb56b63c6c6cb85c3507b62a9ff27b
3
+ metadata.gz: 110820f3c765883cb41d8be9ab041d2378e7bb02d2f0932274f0ea60130e616d
4
+ data.tar.gz: c2507a76f727d277f1e58457ed3f3d47732f48fdc42dc66529c3c65b5311d709
5
5
  SHA512:
6
- metadata.gz: fb4f90d8cb5ffb05774500c70e27b8418691aee7cce474ad31d92e223cc98a17555074927d774c94a581e5cf3a8c41051ef34ec9d3bd6ae3bf9adfbdbbaed88c
7
- data.tar.gz: 3709e81ba37922dde45c3851407f4a6b5f5a374277c203fe7697a5785bc8c753dae8e36315c1a881edcdd7b1fe89c4fe0b2bde106223dfa4ef4829cc0077c9b6
6
+ metadata.gz: 0031d018dd400ecb1762a59e2a3a7907cada91ded4059b166bcd56fc6ab9995ab12caad80822750a269361c617abab31cb80612604bccd9771d112bc186ab445
7
+ data.tar.gz: 8edd821baf1efc31ce37f31930daf29b3cb997cb9ce48db4937060cc77a142e9bea44b8a077ed80d51a52b17993e38fe4b13be717903d58b9653853fc2b81905
@@ -1,17 +1,45 @@
1
+ ---
1
2
  version: 2.1
2
3
  jobs:
3
4
  test:
4
5
  docker:
5
- - image: circleci/ruby:2.6-node
6
- parallelism: 1
6
+ - image: cimg/ruby:2.7-node
7
+ environment:
8
+ DATABASE_URL: postgresql://ubuntu@127.0.0.1/db_test
9
+ BUNDLE_JOBS: 4
10
+ BUNDLE_RETRY: 3
11
+
12
+ - image: circleci/postgres:alpine-ram
13
+ environment:
14
+ POSTGRES_USER: ubuntu
15
+ POSTGRES_DB: db_test
16
+ parallelism: 2
7
17
  steps:
8
18
  - checkout
19
+ - restore_cache:
20
+ keys:
21
+ - rails-v2-{{ arch }}-{{ .Revision }}
22
+ - rails-v2-{{ arch }}-
23
+ - rails-v2-
24
+
9
25
  - run: gem install rails -N --update-sources
10
- - run: sudo apt-get install cmake curl
11
- - run: curl -fLSs https://circle.ci/cli | sudo bash
26
+
27
+ - run: sudo apt-get update -qq && sudo apt-get install -yq --no-install-recommends
28
+ cmake curl yamllint python3-setuptools python3-pkg-resources pkg-config
29
+ - run: curl -fLSs https://raw.githubusercontent.com/CircleCI-Public/circleci-cli/master/install.sh |
30
+ sudo bash
12
31
  - run: git config --global user.email "you@example.com" && git config --global user.name "Your Name"
13
- - run: bin/test
14
- - run: TEST_APP_TEMPLATE=true bin/test
32
+
33
+ - run: |
34
+ [[ $CIRCLE_NODE_INDEX == "0" ]] || bin/test
35
+ - run: |
36
+ [[ $CIRCLE_NODE_INDEX == "1" ]] || TEST_APP_TEMPLATE=true bin/test
37
+
38
+ - save_cache:
39
+ key: rails-v2-{{ arch }}-{{ .Revision }}
40
+ paths:
41
+ - /home/circleci/.rubygems
42
+ - /home/circleci/.cache
15
43
 
16
44
  workflows:
17
45
  test:
@@ -19,7 +47,7 @@ workflows:
19
47
  - test
20
48
 
21
49
  daily:
22
- triggers: #use the triggers key to indicate a scheduled build
50
+ triggers:
23
51
  - schedule:
24
52
  cron: "0 0 * * *"
25
53
  filters:
@@ -0,0 +1,4 @@
1
+ ---
2
+ github: [pftg]
3
+ patreon: pftg
4
+ custom: ['https://www.jetthoughts.com', 'https://jtway.co']
@@ -0,0 +1,10 @@
1
+ default_ignores: false
2
+ #fix: true
3
+ format: progress
4
+ parallel: true
5
+ ruby_version: 2.7.1
6
+
7
+ ignore:
8
+ - 'test/**/*':
9
+ - Layout/AlignHash
10
+ - 'tmp/**/*'
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in jt_tools.gemspec
4
4
  gemspec
5
+
6
+ gem "standard"
data/README.md CHANGED
@@ -1,8 +1,9 @@
1
1
  [![CircleCI](https://circleci.com/gh/jetthoughts/jt_tools.svg?style=svg)](https://circleci.com/gh/jetthoughts/jt_tools)
2
+ [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjetthoughts%2Fjt_tools.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjetthoughts%2Fjt_tools?ref=badge_shield)
2
3
 
3
4
  # JetThoughts Tools
4
5
 
5
- Ruby on Rails ecosystem to maintain projects without losing your mind.
6
+ Ruby on Rails Continious Deployemnt ecosystem to maintain projects without losing your mind.
6
7
  Automatization scripts and services integrations which make your product world class level with no effort!
7
8
 
8
9
  More details could be found in such posts:
@@ -10,17 +11,23 @@ More details could be found in such posts:
10
11
  * [How to Setup a Project That Can Host Up to 1000 Users for Free](https://jtway.co/how-to-setup-a-project-that-can-host-up-to-1000-users-for-free-ab59ad3edaf1)
11
12
  * [Our Default Ruby Development Stack](https://jtway.co/our-default-ruby-development-stack-9d7e80ef21df)
12
13
  * [Heroku Reviews Apps prevent delivering bugs on production](https://jtway.co/make-master-stable-again-b15c9ff3b129)
14
+ * [Effortless Code Conventions Review for Pull Request Changes](https://jtway.co/effortless-code-review-for-pull-request-changes-241206b1cb04)
13
15
 
14
16
  # Services and Tools
15
17
 
16
18
  Pre-setup for service
17
19
 
18
- * Heroku
19
- * CircleCI
20
- * Codecov
21
- * Pronto
22
- * Static Code Analysisers: Rubocop, Reek, and etc.
23
- * Dependabot
20
+ * [GitHub](https://github.com)
21
+ * [Heroku](https://jtway.co/make-master-stable-again-b15c9ff3b129) (Heroku Reviews Apps)
22
+ * [CircleCI](https://circleci.com/)
23
+ * [Codecov](https://codecov.io/) and [Simplecov](https://github.com/colszowka/simplecov)
24
+ * [Dependabot](https://dependabot.com/)
25
+ * [MemCachier](https://www.memcachier.com/)
26
+ * Code Styles:
27
+ * [Pronto](https://jtway.co/effortless-code-review-for-pull-request-changes-241206b1cb04)
28
+ * [Rubocop](https://github.com/rubocop-hq/rubocop)
29
+ * [ESLint](https://eslint.org/)
30
+ * [EditorConfig](https://editorconfig.org/)
24
31
 
25
32
  ## Installation
26
33
 
@@ -33,7 +40,7 @@ rails app:template LOCATION=https://raw.githubusercontent.com/jetthoughts/jt_too
33
40
  Add this line to your application's Gemfile:
34
41
 
35
42
  ```ruby
36
- gem 'jt_tools', groups: [:development]
43
+ gem 'jt_tools', groups: [:development], github: 'jetthoughts/jt_tools'
37
44
  ```
38
45
 
39
46
  And then execute:
@@ -52,13 +59,13 @@ bin/tools-setup
52
59
  bin/tools-upgrade
53
60
  ```
54
61
 
55
- Auto-review on GitHub opened Pull Rquests to follow code consensentcy
62
+ Auto-review on GitHub opened Pull Rquests to follow code consistency
56
63
 
57
64
  ```bash
58
- bin/lint-github-pr
65
+ bin/lint-pr
59
66
  ```
60
67
 
61
- Check localy all problems in the current branch cahnges
68
+ Check locally all problems in the current branch changes
62
69
 
63
70
  ```bash
64
71
  bin/pronto run
@@ -67,3 +74,6 @@ bin/pronto run
67
74
  ## License
68
75
 
69
76
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
77
+
78
+
79
+ [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjetthoughts%2Fjt_tools.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjetthoughts%2Fjt_tools?ref=badge_large)
data/Rakefile CHANGED
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'bundler/gem_tasks'
4
- require 'rake/testtask'
3
+ require "bundler/gem_tasks"
4
+ require "rake/testtask"
5
5
 
6
6
  Rake::TestTask.new(:test) do |t|
7
- t.libs << 'test'
8
- t.libs << 'lib'
9
- t.test_files = FileList['test/**/*_test.rb']
7
+ t.libs << "test"
8
+ t.libs << "lib"
9
+ t.test_files = FileList["test/**/*_test.rb"]
10
10
  end
11
11
 
12
12
  task default: :test
@@ -1 +1,2 @@
1
- theme: jekyll-theme-architect
1
+ ---
2
+ theme: jekyll-theme-architect
data/bin/test CHANGED
@@ -1,26 +1,33 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- set -eo pipefail
3
+ set -xeo pipefail
4
+
5
+ echo "=> Yamllint:"
6
+ yamllint --config-file lib/install/.yamllint.yml --strict .*/*.yml
7
+ yamllint --config-file lib/install/.yamllint.yml --strict *.yml
8
+ yamllint --config-file lib/install/.yamllint.yml --strict lib/**/.*.yml
9
+ yamllint --config-file lib/install/.yamllint.yml --strict **/.*/*.yml
4
10
 
5
11
  mkdir -p tmp/
6
12
 
7
13
  cd tmp
8
14
  rm -rf test_tmpl
9
15
 
16
+ # Test installation of missed gems on applying template
10
17
  gem uninstall oj || true
11
18
 
12
- if [[ "TEST_APP_TEMPLATE" == "true" ]]
19
+ if [[ "$TEST_APP_TEMPLATE" == "true" ]]
13
20
  then
14
- rails new test_tmpl
21
+ rails new test_tmpl --quiet --database postgresql
15
22
  cd test_tmpl
16
- rails app:template LOCATION=../template.rb
23
+ rails app:template LOCATION=../../template.rb
17
24
  else
18
- rails new test_tmpl -m ../template.rb
25
+ rails new test_tmpl --template ../template.rb --quiet --database postgresql
19
26
  cd test_tmpl
27
+ DISABLE_SPRING=1 bin/setup
20
28
  fi
21
29
 
22
30
  echo " => Verify CircleCI config:"
23
- cp .circleci/config.yml.sample .circleci/config.yml
24
31
  circleci config validate
25
32
 
26
33
  echo " => Verify installation scripts:"
@@ -42,9 +49,15 @@ git commit -m 'Adds sample_for_linters'
42
49
 
43
50
  bin/rubocop --fail-level F sample_for_linters.rb
44
51
  bin/pronto run -c HEAD~1 --no-exit-code
52
+ BUNDLE_GEMFILE=Gemfile.tools bin/bundle exec rails_best_practices --without-color --silent --test .
53
+ # FIXME: https://github.com/Shopify/erb-lint/issues/162
54
+ # BUNDLE_GEMFILE=Gemfile.tools bin/bundle exec erblint --config ../../lib/install/.erb-lint.yml --autocorrect .
45
55
 
46
- CIRCLECI=false bin/lint-github-pr -f text
56
+ CIRCLECI=false bin/lint-pr -f text
47
57
 
48
58
  echo " => Run git hooks verifications"
49
- bin/git-hooks/post-merge.sample
50
- CIRCLECI=false bin/git-hooks/pre-push.sample
59
+ bin/git-hooks/post-merge
60
+ CIRCLECI=false bin/git-hooks/pre-push
61
+
62
+ bin/rubocop --config ../../lib/install/.rubocop.yml --debug --extra-details --display-style-guide --parallel ../../lib
63
+ node_modules/.bin/eslint --config ../../lib/install/.eslintrc.js --quiet --no-color ../../lib/**/.*.js
@@ -1,25 +1,25 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- lib = File.expand_path('lib', __dir__)
3
+ lib = File.expand_path("lib", __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'version'
5
+ require "jt_tools/version"
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = 'jt_tools'
8
+ spec.name = "jt_tools"
9
9
  spec.version = JtTools::VERSION
10
- spec.authors = ['Paul Keen']
11
- spec.email = ['pftg@users.noreply.github.com']
10
+ spec.authors = ["Paul Keen"]
11
+ spec.email = ["pftg@users.noreply.github.com"]
12
12
 
13
- spec.summary = 'Setup development scripts to manage code base effectively'
14
- spec.description = 'Helpful scripts to run linters locally and on CI'
15
- spec.homepage = 'https://jtway.co'
16
- spec.license = 'MIT'
13
+ spec.summary = "Setup development scripts to manage code base effectively"
14
+ spec.description = "Helpful scripts to run linters locally and on CI"
15
+ spec.homepage = "https://jtway.co"
16
+ spec.license = "MIT"
17
17
 
18
- spec.metadata['homepage_uri'] = spec.homepage
19
- spec.metadata['source_code_uri'] = 'https://github.com/jetthoughts/jt-tools/'
20
- spec.metadata['changelog_uri'] = 'https://github.com/jetthoughts/jt-tools/'
18
+ spec.metadata["homepage_uri"] = spec.homepage
19
+ spec.metadata["source_code_uri"] = "https://github.com/jetthoughts/jt-tools/"
20
+ spec.metadata["changelog_uri"] = "https://github.com/jetthoughts/jt-tools/"
21
21
 
22
- spec.add_dependency 'railties', '>= 4.2'
22
+ spec.add_dependency "railties", ">= 4.2"
23
23
 
24
24
  # Specify which files should be added to the gem when it is released.
25
25
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -27,5 +27,5 @@ Gem::Specification.new do |spec|
27
27
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
28
28
  end
29
29
 
30
- spec.require_paths = ['lib']
30
+ spec.require_paths = ["lib"]
31
31
  end
@@ -6,10 +6,15 @@
6
6
 
7
7
  version: 2.1
8
8
 
9
+ orbs:
10
+ ruby: circleci/ruby@1.0.0
11
+ node: circleci/node@2.1.1
12
+
9
13
  workflows:
10
14
  version: 2
11
15
  test:
12
16
  jobs:
17
+ - test
13
18
  - lint:
14
19
  filters:
15
20
  branches:
@@ -33,19 +38,18 @@ jobs:
33
38
  test:
34
39
  docker:
35
40
  # specify the version you desire here
36
- - image: circleci/ruby:2.6-node-browsers
41
+ - image: circleci/ruby:2.7-node-browsers
37
42
  environment:
38
- COVERAGE: true
39
43
  BUNDLE_GEMFILE: Gemfile
40
- BUNDLE_WITHOUT: "production:staging:development"
41
- BUNDLE_JOBS: 3
42
- BUNDLE_RETRY: 3
43
44
  BUNDLE_PATH: vendor/bundle
44
- RAILS_ENV: test
45
+ BUNDLE_JOBS: 4
46
+ BUNDLE_RETRY: 3
47
+ BUNDLE_WITHOUT: "production:staging:development"
48
+ COVERAGE: true
49
+ DATABASE_URL: postgresql://ubuntu@localhost/db
50
+ NODE_ENV: test
45
51
  RACK_ENV: test
46
- PGHOST: 127.0.0.1
47
- PGUSER: ubuntu
48
- DATABASE_URL: postgresql:ubuntu@127.0.0.1/db_test
52
+ RAILS_ENV: test
49
53
 
50
54
  # Specify service dependencies here if necessary
51
55
  # CircleCI maintains a library of pre-built images
@@ -53,43 +57,80 @@ jobs:
53
57
  - image: circleci/postgres:alpine-ram
54
58
  environment:
55
59
  POSTGRES_USER: ubuntu
56
- POSTGRES_DB: db_test
60
+ POSTGRES_DB: db
57
61
 
58
62
  steps:
59
63
  - checkout
64
+ - ruby/install-deps:
65
+ bundler-version: '`cat Gemfile.lock | tail -1 | tr -d " "`'
66
+ key: v1-dependencies
67
+ - node/install:
68
+ node-version: latest
69
+ - node/install-packages:
70
+ app-dir: .
71
+ pkg-manager: yarn
72
+ cache-key: yarn.lock
73
+ cache-version: v1
74
+
75
+ - restore_cache:
76
+ keys:
77
+ - asset-cache-v1-{{ arch }}-{{ .Branch }}-{{ checksum "yarn.lock" }}-{{ .Environment.CIRCLE_SHA1 }}
78
+ - asset-cache-v1-{{ arch }}-{{ .Branch }}-{{ checksum "yarn.lock" }}-
79
+ - asset-cache-v1-{{ arch }}-{{ .Branch }}-
80
+ - asset-cache-v1-
81
+
82
+ - run:
83
+ name: Precompile Assets
84
+ command: |
85
+ bin/webpack
86
+ bin/rails assets:precompile
87
+
88
+ - save_cache:
89
+ key: asset-cache-v1-{{ arch }}-{{ .Branch }}-{{ checksum "yarn.lock" }}-{{ .Environment.CIRCLE_SHA1 }}
90
+ paths:
91
+ - public/assets
92
+ - public/pack-test
93
+ - tmp/cache/assets
94
+ - tmp/cache/webpacker
60
95
 
61
- # Download and cache dependencies
62
96
  - restore_cache:
63
- name: Restore Bundler Cache
97
+ name: Restore Jest Cache
64
98
  keys:
65
- - v1-dependencies-{{ checksum "Gemfile.lock" }}
66
- - v1-dependencies-
99
+ - jest-cache-v1-{{ arch }}-{{ .Branch }}-{{ .Environment.CIRCLE_SHA1 }}
100
+ - jest-cache-v1-{{ arch }}-{{ .Branch }}-
101
+ - jest-cache-v1-
67
102
 
68
103
  - run:
69
- name: Install Bundler Dependencies
70
- command: bin/bundle check --path vendor/bundle || bin/bundle install --deployment
104
+ name: JavaScript Unit Tests
105
+ command: |
106
+ bin/yarn test --ci --no-watchman \
107
+ --coverage --coverageDirectory coverage/jest \
108
+ --coverageReporters text-summary --coverageReporters html \
109
+ --reporters=jest-junit
110
+ environment:
111
+ JEST_JUNIT_OUTPUT_DIR: tmp/reports/jest-results
71
112
 
72
113
  - save_cache:
73
- name: Save Bundler Cache
114
+ name: Save Jest Cache
115
+ key: jest-cache-v1-{{ arch }}-{{ .Branch }}-{{ .Environment.CIRCLE_SHA1 }}
74
116
  paths:
75
- - ./vendor/bundle
76
- key: v1-dependencies-{{ checksum "Gemfile.lock" }}
117
+ - tmp/cache/jest
77
118
 
78
119
  - run: bin/rails db:schema:load
79
- - run: bin/rails test
120
+ # rails test
80
121
 
81
122
  # collect reports
82
123
  - store_test_results:
83
- path: ./test/reports/
124
+ path: ./tmp/reports/
84
125
  - store_artifacts:
85
126
  path: ./coverage
86
127
  lint:
87
128
  docker:
88
- - image: circleci/ruby:2.6-stretch-node
129
+ - image: cimg/ruby:2.7-node
89
130
  environment:
90
131
  DISABLE_SPRING: 1
91
132
  BUNDLE_GEMFILE: Gemfile.tools
92
- BUNDLE_JOBS: 3
133
+ BUNDLE_JOBS: 4
93
134
  BUNDLE_RETRY: 3
94
135
 
95
136
  steps:
@@ -102,7 +143,9 @@ jobs:
102
143
 
103
144
  - run:
104
145
  name: Install cmake for building pronto dependencies
105
- command: sudo apt-get install cmake yamllint python3-setuptools python3-pkg-resources
146
+ command: sudo apt-get update -qq &&
147
+ sudo apt-get install -yq --no-install-recommends
148
+ cmake yamllint python3-setuptools python3-pkg-resources pkg-config
106
149
 
107
150
  - run:
108
151
  name: Install Bundle Dependencies
@@ -110,7 +153,7 @@ jobs:
110
153
 
111
154
  - run:
112
155
  name: Install Node Packages
113
- command: bin/yarn
156
+ command: bin/yarn check || bin/yarn install
114
157
 
115
158
  - save_cache:
116
159
  key: v1-tools-dependencies-{{ checksum "Gemfile.tools.lock" }}-{{ checksum "yarn.lock" }}
@@ -118,15 +161,15 @@ jobs:
118
161
  - ./vendor/bundle-tools
119
162
  - ./node_modules
120
163
 
121
- - run: bin/lint-github-pr
164
+ - run: bin/lint-pr
122
165
 
123
166
  upgrade_tools:
124
167
  docker:
125
- - image: circleci/ruby:2.6-stretch-node
168
+ - image: cimg/ruby:2.7-node
126
169
  environment:
127
170
  DISABLE_SPRING: 1
128
171
  BUNDLE_GEMFILE: Gemfile.tools
129
- BUNDLE_JOBS: 3
172
+ BUNDLE_JOBS: 4
130
173
  BUNDLE_RETRY: 3
131
174
 
132
175
  steps:
@@ -139,10 +182,9 @@ jobs:
139
182
  source $BASH_ENV
140
183
  gem install bundler:$BUNDLER_VERSION
141
184
 
142
- - run: sudo apt-get install cmake
185
+ - run: sudo apt-get update && sudo apt-get install cmake yamllint python3-setuptools python3-pkg-resources
143
186
 
144
187
  - run:
145
188
  name: Run Gemfile tools update in separate branch
146
189
  command: |
147
190
  ./bin/circleci-auto_upgrade_tools
148
-