ndr_dev_support 5.7.0 → 5.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -0
- data/README.md +1 -1
- data/code_safety.yml +13 -13
- data/config/rubocop/ndr.yml +10 -0
- data/lib/ndr_dev_support/daemon/ci_server.rb +6 -2
- data/lib/ndr_dev_support/integration_testing.rb +3 -0
- data/lib/ndr_dev_support/integration_testing/drivers/switchable.rb +12 -3
- data/lib/ndr_dev_support/rake_ci/redmine/ticket_resolver.rb +1 -1
- data/lib/ndr_dev_support/rubocop/range_augmenter.rb +1 -2
- data/lib/ndr_dev_support/version.rb +1 -1
- data/lib/tasks/ci/brakeman.rake +1 -1
- data/ndr_dev_support.gemspec +6 -5
- metadata +27 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4deca61439d2e531328591d3191d66a2a8645970173d00820a9daf4233f519c2
|
4
|
+
data.tar.gz: c65e29722b6bfc8f75b005df61c700d3d15aea1bf689513af214120f8ce73b55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bbc48e4af8beee14e7d543d1a6c30cca2af8716c25a62a7279fac879fed2f752cc3f6c20bb122c9a4186e9c65ad08baf3ed47f4eedd48d1500f81c415613c774
|
7
|
+
data.tar.gz: 6e9e4923d97560c6eab4f5437df85005342f2c25ca2fc79071ce18372f975a019244badf5e64bce3edf4643d7de386cba66174d120fa3049209dd7818e3cb404
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,32 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
*no unreleased changes*
|
3
3
|
|
4
|
+
## 5.9.0 / 2021-01-12
|
5
|
+
### Added
|
6
|
+
* Move to keep up with Rubocop releases
|
7
|
+
* Add `rubocop-rake`, for additional rake-specific Rubocop checks
|
8
|
+
* Disable browser animations in the test environment by default
|
9
|
+
|
10
|
+
### Fixed
|
11
|
+
* Fix unnecessary 'parser/current' warnings when not using rubocop
|
12
|
+
* Test against Ruby 3.0
|
13
|
+
|
14
|
+
## 5.8.2 / 2020-07-22
|
15
|
+
### Fixed
|
16
|
+
* Tweak integration testing driver config, for capybara 3.33.0 deprecations
|
17
|
+
|
18
|
+
## 5.8.1 / 2020-07-10
|
19
|
+
### Fixed
|
20
|
+
* Fix issue running `brakeman:fingerprint_details` task
|
21
|
+
|
22
|
+
## 5.8.0 / 2020-04-07
|
23
|
+
### Added
|
24
|
+
* Ability to select git CI branch by exporting `RAKE_CI_BRANCH_NAME`
|
25
|
+
|
26
|
+
## 5.7.1 / 2020-04-07
|
27
|
+
### Fixed
|
28
|
+
* Address issue updating redmine using commit message tags
|
29
|
+
|
4
30
|
## 5.7.0 / 2020-03-26
|
5
31
|
### Added
|
6
32
|
* Add `ci:brakeman:strict` alternative CI task. (#77)
|
data/README.md
CHANGED
@@ -28,7 +28,7 @@ Or install it yourself as:
|
|
28
28
|
To add development support tasks (see below) to your project, add this line to your application's `Rakefile`:
|
29
29
|
|
30
30
|
```ruby
|
31
|
-
require 'ndr_dev_support/tasks'
|
31
|
+
require 'ndr_dev_support/tasks' if Rails.env.development? || Rails.env.test?
|
32
32
|
```
|
33
33
|
|
34
34
|
## Usage
|
data/code_safety.yml
CHANGED
@@ -15,11 +15,11 @@ file safety:
|
|
15
15
|
".travis.yml":
|
16
16
|
comments:
|
17
17
|
reviewed_by: josh.pencheon
|
18
|
-
safe_revision:
|
18
|
+
safe_revision: e5ac2d160975264f40bac7e871b61aa6b54f7af2
|
19
19
|
CHANGELOG.md:
|
20
20
|
comments:
|
21
21
|
reviewed_by: josh.pencheon
|
22
|
-
safe_revision:
|
22
|
+
safe_revision: 0fa311a1f72ceb8c8d5c5a66fd0ac22eb0317781
|
23
23
|
CODE_OF_CONDUCT.md:
|
24
24
|
comments:
|
25
25
|
reviewed_by: timgentry
|
@@ -35,7 +35,7 @@ file safety:
|
|
35
35
|
README.md:
|
36
36
|
comments:
|
37
37
|
reviewed_by: josh.pencheon
|
38
|
-
safe_revision:
|
38
|
+
safe_revision: e389930b98976f20e3fc94c771e5c456b729f8cb
|
39
39
|
Rakefile:
|
40
40
|
comments:
|
41
41
|
reviewed_by: josh.pencheon
|
@@ -51,7 +51,7 @@ file safety:
|
|
51
51
|
config/rubocop/ndr.yml:
|
52
52
|
comments:
|
53
53
|
reviewed_by: josh.pencheon
|
54
|
-
safe_revision:
|
54
|
+
safe_revision: 05476acacadfa0ad7404f3c37cf3c17c4e0ba11b
|
55
55
|
gemfiles/Gemfile.rails52:
|
56
56
|
comments:
|
57
57
|
reviewed_by: josh.pencheon
|
@@ -107,7 +107,7 @@ file safety:
|
|
107
107
|
lib/ndr_dev_support/daemon/ci_server.rb:
|
108
108
|
comments:
|
109
109
|
reviewed_by: josh.pencheon
|
110
|
-
safe_revision:
|
110
|
+
safe_revision: 3fdf010a91bd9927ef34e3df66b8a4bbbd20315a
|
111
111
|
lib/ndr_dev_support/daemon/stoppable.rb:
|
112
112
|
comments:
|
113
113
|
reviewed_by: josh.pencheon
|
@@ -115,7 +115,7 @@ file safety:
|
|
115
115
|
lib/ndr_dev_support/integration_testing.rb:
|
116
116
|
comments:
|
117
117
|
reviewed_by: josh.pencheon
|
118
|
-
safe_revision:
|
118
|
+
safe_revision: 5b427cb12907bc87e5e0cb754dcaa524fdbfb1b9
|
119
119
|
lib/ndr_dev_support/integration_testing/drivers/chrome.rb:
|
120
120
|
comments:
|
121
121
|
reviewed_by: josh.pencheon
|
@@ -135,7 +135,7 @@ file safety:
|
|
135
135
|
lib/ndr_dev_support/integration_testing/drivers/switchable.rb:
|
136
136
|
comments:
|
137
137
|
reviewed_by: josh.pencheon
|
138
|
-
safe_revision:
|
138
|
+
safe_revision: e9b74559d28e7520c0376d1bec4a2566aae14b05
|
139
139
|
lib/ndr_dev_support/integration_testing/dsl.rb:
|
140
140
|
comments:
|
141
141
|
reviewed_by: josh.pencheon
|
@@ -179,7 +179,7 @@ file safety:
|
|
179
179
|
lib/ndr_dev_support/rake_ci/redmine/ticket_resolver.rb:
|
180
180
|
comments:
|
181
181
|
reviewed_by: josh.pencheon
|
182
|
-
safe_revision:
|
182
|
+
safe_revision: 788b8fc31952a6fb640101df96a370b21d269249
|
183
183
|
lib/ndr_dev_support/rake_ci/simple_cov_helper.rb:
|
184
184
|
comments:
|
185
185
|
reviewed_by: timgentry
|
@@ -194,8 +194,8 @@ file safety:
|
|
194
194
|
safe_revision: 6211cff0ce44645ed3752723b5b0ee65f24c66aa
|
195
195
|
lib/ndr_dev_support/rubocop/range_augmenter.rb:
|
196
196
|
comments:
|
197
|
-
reviewed_by:
|
198
|
-
safe_revision:
|
197
|
+
reviewed_by: josh.pencheon
|
198
|
+
safe_revision: 136936265a5b79f0eca1bc7e58c607a2492e57a5
|
199
199
|
lib/ndr_dev_support/rubocop/range_finder.rb:
|
200
200
|
comments:
|
201
201
|
reviewed_by: josh.pencheon
|
@@ -215,7 +215,7 @@ file safety:
|
|
215
215
|
lib/ndr_dev_support/version.rb:
|
216
216
|
comments:
|
217
217
|
reviewed_by: josh.pencheon
|
218
|
-
safe_revision:
|
218
|
+
safe_revision: 0fa311a1f72ceb8c8d5c5a66fd0ac22eb0317781
|
219
219
|
lib/tasks/audit_code.rake:
|
220
220
|
comments: Identical to the version reviewed by josh.pencheon when contained within
|
221
221
|
ndr_support
|
@@ -224,7 +224,7 @@ file safety:
|
|
224
224
|
lib/tasks/ci/brakeman.rake:
|
225
225
|
comments:
|
226
226
|
reviewed_by: josh.pencheon
|
227
|
-
safe_revision:
|
227
|
+
safe_revision: fe7dfc7f1775e8b85ae6968e8f475b9e930addf7
|
228
228
|
lib/tasks/ci/bundle_audit.rake:
|
229
229
|
comments:
|
230
230
|
reviewed_by: josh.pencheon
|
@@ -288,7 +288,7 @@ file safety:
|
|
288
288
|
ndr_dev_support.gemspec:
|
289
289
|
comments:
|
290
290
|
reviewed_by: josh.pencheon
|
291
|
-
safe_revision:
|
291
|
+
safe_revision: 5b427cb12907bc87e5e0cb754dcaa524fdbfb1b9
|
292
292
|
test/daemon/ci_server_test.rb:
|
293
293
|
comments:
|
294
294
|
reviewed_by: josh.pencheon
|
data/config/rubocop/ndr.yml
CHANGED
@@ -6,8 +6,13 @@
|
|
6
6
|
|
7
7
|
require:
|
8
8
|
- rubocop-rails
|
9
|
+
- rubocop-rake
|
9
10
|
|
10
11
|
AllCops:
|
12
|
+
# Given we take a "follow the herd" approach, with this file
|
13
|
+
# containing just deviations, enable new cops by default.
|
14
|
+
NewCops: enable
|
15
|
+
|
11
16
|
# All cops should ignore files in the following locations:
|
12
17
|
Exclude:
|
13
18
|
- 'bin/*'
|
@@ -127,6 +132,11 @@ Rails/DynamicFindBy:
|
|
127
132
|
Exclude:
|
128
133
|
- 'test/integration/**/*.rb'
|
129
134
|
|
135
|
+
Rails/RakeEnvironment:
|
136
|
+
# Particularly without spring, this can make things that should be quick
|
137
|
+
# slower than desirable.
|
138
|
+
Enabled: false
|
139
|
+
|
130
140
|
Rails/RefuteMethods:
|
131
141
|
Enabled: false
|
132
142
|
|
@@ -48,7 +48,7 @@ module NdrDevSupport
|
|
48
48
|
|
49
49
|
git_fetch
|
50
50
|
git_discard_changes
|
51
|
-
git_checkout(
|
51
|
+
git_checkout(git_branch_name)
|
52
52
|
|
53
53
|
objectids_between_master_and_remote.each do |oid|
|
54
54
|
log("testing #{oid}...")
|
@@ -72,6 +72,10 @@ module NdrDevSupport
|
|
72
72
|
raise exception
|
73
73
|
end
|
74
74
|
|
75
|
+
def git_branch_name
|
76
|
+
ENV.fetch('RAKE_CI_BRANCH_NAME', MASTER_BRANCH_NAME)
|
77
|
+
end
|
78
|
+
|
75
79
|
def git_fetch
|
76
80
|
system(svn_remote? ? 'git svn fetch' : 'git fetch')
|
77
81
|
end
|
@@ -117,7 +121,7 @@ module NdrDevSupport
|
|
117
121
|
def objectids_between_master_and_remote
|
118
122
|
walker = Rugged::Walker.new(@repo)
|
119
123
|
walker.push(repo.branches[remote_branch].target_id)
|
120
|
-
current_target_id = repo.branches[
|
124
|
+
current_target_id = repo.branches[git_branch_name].target_id
|
121
125
|
|
122
126
|
revisions = []
|
123
127
|
# walk backwards from the most recent commit, breaking at the current one
|
@@ -35,5 +35,8 @@ require 'ndr_dev_support/integration_testing/drivers/switchable'
|
|
35
35
|
Capybara.default_driver = :switchable
|
36
36
|
Capybara.javascript_driver = :switchable
|
37
37
|
|
38
|
+
# Inject middleware to disable jQuery fx, CSS transitions/animations
|
39
|
+
Capybara.disable_animation = true
|
40
|
+
|
38
41
|
Capybara.save_path = Rails.root.join('tmp', 'screenshots')
|
39
42
|
Capybara::Screenshot.prune_strategy = { keep: 20 }
|
@@ -18,14 +18,23 @@ module NdrDevSupport
|
|
18
18
|
CONFIGURED = ENV.fetch('INTEGRATION_DRIVER', DEFAULT).to_sym
|
19
19
|
|
20
20
|
Capybara.register_driver(:switchable) do |app|
|
21
|
-
Capybara.drivers
|
21
|
+
configured_driver = Capybara.drivers[CONFIGURED]
|
22
|
+
raise "Driver #{CONFIGURED} not found!" unless configured_driver
|
23
|
+
|
24
|
+
configured_driver.call(app)
|
22
25
|
end
|
23
26
|
|
24
27
|
Capybara::Screenshot.register_driver(:switchable) do |driver, path|
|
25
|
-
Capybara::Screenshot.registered_drivers
|
28
|
+
configured_screenshot_driver = Capybara::Screenshot.registered_drivers[CONFIGURED]
|
29
|
+
raise "Screenshot driver #{CONFIGURED} not found!" unless configured_screenshot_driver
|
30
|
+
|
31
|
+
configured_screenshot_driver.call(driver, path)
|
26
32
|
end
|
27
33
|
|
28
|
-
|
34
|
+
cookie_driver = ShowMeTheCookies.adapters[CONFIGURED]
|
35
|
+
raise "Cookie driver #{CONFIGURED} not found!" unless cookie_driver
|
36
|
+
|
37
|
+
ShowMeTheCookies.register_adapter(:switchable, cookie_driver)
|
29
38
|
end
|
30
39
|
end
|
31
40
|
end
|
@@ -86,7 +86,7 @@ module NdrDevSupport
|
|
86
86
|
@http
|
87
87
|
end
|
88
88
|
|
89
|
-
def update_ticket(message, user, revision, ticket, resolved)
|
89
|
+
def update_ticket(message, user, revision, ticket, resolved, tests_passed)
|
90
90
|
payload = update_payload(message, user, revision, ticket_closed?(ticket), resolved, tests_passed)
|
91
91
|
|
92
92
|
http.send_request('PUT',
|
@@ -4,8 +4,6 @@ module NdrDevSupport
|
|
4
4
|
# all lines covered, expanding the ranges to include full method
|
5
5
|
# defintions, and class/module headers.
|
6
6
|
class RangeAugmenter
|
7
|
-
require 'parser/current'
|
8
|
-
|
9
7
|
MODULE_TYPES = [:module, :class].freeze
|
10
8
|
METHOD_TYPES = [:def, :defs].freeze
|
11
9
|
|
@@ -27,6 +25,7 @@ module NdrDevSupport
|
|
27
25
|
end
|
28
26
|
|
29
27
|
def augmented_lines
|
28
|
+
require 'parser/current'
|
30
29
|
root = Parser::CurrentRuby.parse IO.read(filename)
|
31
30
|
nodes = extract_augmenting_nodes(root)
|
32
31
|
|
data/lib/tasks/ci/brakeman.rake
CHANGED
data/ndr_dev_support.gemspec
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
lib = File.expand_path('
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
2
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
3
|
require 'ndr_dev_support/version'
|
4
4
|
|
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ['lib']
|
21
21
|
|
22
|
-
spec.required_ruby_version = '>= 2.
|
22
|
+
spec.required_ruby_version = '>= 2.6'
|
23
23
|
|
24
24
|
spec.add_dependency 'pry'
|
25
25
|
|
@@ -29,12 +29,13 @@ Gem::Specification.new do |spec|
|
|
29
29
|
# Rubocop dependencies:
|
30
30
|
spec.add_dependency 'parser'
|
31
31
|
spec.add_dependency 'rainbow'
|
32
|
-
spec.add_dependency 'rubocop', '
|
33
|
-
spec.add_dependency 'rubocop-
|
32
|
+
spec.add_dependency 'rubocop', '~> 1.7'
|
33
|
+
spec.add_dependency 'rubocop-rake', '~> 0.5'
|
34
|
+
spec.add_dependency 'rubocop-rails', '~> 2.9'
|
34
35
|
spec.add_dependency 'unicode-display_width', '>= 1.3.3'
|
35
36
|
|
36
37
|
# Integration test dependencies:
|
37
|
-
spec.add_dependency 'capybara', '>= 3.
|
38
|
+
spec.add_dependency 'capybara', '>= 3.34'
|
38
39
|
spec.add_dependency 'capybara-screenshot'
|
39
40
|
spec.add_dependency 'minitest', '~> 5.0'
|
40
41
|
spec.add_dependency 'poltergeist', '>= 1.8.0'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ndr_dev_support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- NCRS Development Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry
|
@@ -70,30 +70,44 @@ dependencies:
|
|
70
70
|
name: rubocop
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: '1.7'
|
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:
|
82
|
+
version: '1.7'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop-rake
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.5'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.5'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: rubocop-rails
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- -
|
101
|
+
- - "~>"
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: 2.
|
103
|
+
version: '2.9'
|
90
104
|
type: :runtime
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- -
|
108
|
+
- - "~>"
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: 2.
|
110
|
+
version: '2.9'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: unicode-display_width
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,14 +128,14 @@ dependencies:
|
|
114
128
|
requirements:
|
115
129
|
- - ">="
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version: '3.
|
131
|
+
version: '3.34'
|
118
132
|
type: :runtime
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
136
|
- - ">="
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version: '3.
|
138
|
+
version: '3.34'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: capybara-screenshot
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -470,7 +484,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
470
484
|
requirements:
|
471
485
|
- - ">="
|
472
486
|
- !ruby/object:Gem::Version
|
473
|
-
version: '2.
|
487
|
+
version: '2.6'
|
474
488
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
475
489
|
requirements:
|
476
490
|
- - ">="
|