ndr_dev_support 5.7.0 → 5.9.0
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/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
|
- - ">="
|