ndr_dev_support 6.0.3 → 6.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +19 -1
- data/code_safety.yml +9 -9
- data/lib/ndr_dev_support/daemon/stoppable.rb +5 -0
- data/lib/ndr_dev_support/version.rb +1 -1
- data/lib/tasks/audit_bundle.rake +4 -3
- data/lib/tasks/ci/brakeman.rake +18 -1
- data/lib/tasks/ci/prometheus.rake +5 -3
- data/ndr_dev_support.gemspec +5 -4
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35fef5ec91f5db4578a83b30f719011734cf4ee3cbb14ca9e99c30893e3f5e9f
|
4
|
+
data.tar.gz: 9480e1be5513b83c6213d54d2b8ef1e6ed13ca9d90162be41ad17af105df355c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4db7ec6d1b673f3c10e11040c11e600ddadc2d8657a837d231bfa3216668ce8254479ed4af8f1d1b4024afa9f3252158546db499153d28098631629d06420b65
|
7
|
+
data.tar.gz: 4719a51ea6c3c7eb52e83a5e5c943813b0698e5d3d1ddabba01fd36b1ae7770858cd7c21c697279e8a7865f9965570eae7512997ec410f9b26e03c6572e9760d
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,23 @@
|
|
1
1
|
## [Unreleased]
|
2
|
-
*
|
2
|
+
* No unreleased changes
|
3
|
+
|
4
|
+
## 6.1.1 / 2022-04-29
|
5
|
+
### Fixed
|
6
|
+
* CI: fix crashes when brakeman parsing fails
|
7
|
+
|
8
|
+
## 6.1.0 / 2022-04-28
|
9
|
+
### Fixed
|
10
|
+
* CI: support Ruby 3.0
|
11
|
+
|
12
|
+
### Changed
|
13
|
+
* Allow Ctrl-C to cleanly interrupt an idle daemon
|
14
|
+
* Drop support for Ruby 2.6
|
15
|
+
|
16
|
+
## 6.0.5 / unreleased
|
17
|
+
|
18
|
+
## 6.0.4 / 2022-03-14
|
19
|
+
### Fixed
|
20
|
+
* bundle:update should commit code_safety.yml changes.
|
3
21
|
|
4
22
|
## 6.0.3 / 2022-03-14
|
5
23
|
### Added
|
data/code_safety.yml
CHANGED
@@ -11,7 +11,7 @@ file safety:
|
|
11
11
|
".github/workflows/test.yml":
|
12
12
|
comments:
|
13
13
|
reviewed_by: brian.shand
|
14
|
-
safe_revision:
|
14
|
+
safe_revision: c911246250d5387264d5a926c2572f98db58be6e
|
15
15
|
".gitignore":
|
16
16
|
comments:
|
17
17
|
reviewed_by: josh.pencheon
|
@@ -27,7 +27,7 @@ file safety:
|
|
27
27
|
CHANGELOG.md:
|
28
28
|
comments:
|
29
29
|
reviewed_by: brian.shand
|
30
|
-
safe_revision:
|
30
|
+
safe_revision: 5d47f0c8574b6fbc69f9144ce508f169b95cd90c
|
31
31
|
CODE_OF_CONDUCT.md:
|
32
32
|
comments:
|
33
33
|
reviewed_by: timgentry
|
@@ -126,8 +126,8 @@ file safety:
|
|
126
126
|
safe_revision: 3fdf010a91bd9927ef34e3df66b8a4bbbd20315a
|
127
127
|
lib/ndr_dev_support/daemon/stoppable.rb:
|
128
128
|
comments:
|
129
|
-
reviewed_by:
|
130
|
-
safe_revision:
|
129
|
+
reviewed_by: brian.shand
|
130
|
+
safe_revision: ff47991823556a6936a7457b4a1eb9373851ee57
|
131
131
|
lib/ndr_dev_support/integration_testing.rb:
|
132
132
|
comments:
|
133
133
|
reviewed_by: josh.pencheon
|
@@ -231,11 +231,11 @@ file safety:
|
|
231
231
|
lib/ndr_dev_support/version.rb:
|
232
232
|
comments:
|
233
233
|
reviewed_by: brian.shand
|
234
|
-
safe_revision:
|
234
|
+
safe_revision: 5d47f0c8574b6fbc69f9144ce508f169b95cd90c
|
235
235
|
lib/tasks/audit_bundle.rake:
|
236
236
|
comments:
|
237
237
|
reviewed_by: brian.shand
|
238
|
-
safe_revision:
|
238
|
+
safe_revision: 9682c3eb39a98d5a5256732af647a8bd7750826b
|
239
239
|
lib/tasks/audit_code.rake:
|
240
240
|
comments: Identical to the version reviewed by josh.pencheon when contained within
|
241
241
|
ndr_support
|
@@ -275,8 +275,8 @@ file safety:
|
|
275
275
|
safe_revision: f828113894a16581d0aa181504c799e661f8401d
|
276
276
|
lib/tasks/ci/prometheus.rake:
|
277
277
|
comments:
|
278
|
-
reviewed_by:
|
279
|
-
safe_revision:
|
278
|
+
reviewed_by: brian.shand
|
279
|
+
safe_revision: b30f609f1978015522eb8f60b2a81730d4b7de62
|
280
280
|
lib/tasks/ci/redmine.rake:
|
281
281
|
comments:
|
282
282
|
reviewed_by: josh.pencheon
|
@@ -308,7 +308,7 @@ file safety:
|
|
308
308
|
ndr_dev_support.gemspec:
|
309
309
|
comments:
|
310
310
|
reviewed_by: brian.shand
|
311
|
-
safe_revision:
|
311
|
+
safe_revision: c911246250d5387264d5a926c2572f98db58be6e
|
312
312
|
test/daemon/ci_server_test.rb:
|
313
313
|
comments:
|
314
314
|
reviewed_by: josh.pencheon
|
@@ -105,7 +105,12 @@ module NdrDevSupport
|
|
105
105
|
|
106
106
|
number_of_mini_sleeps.times do
|
107
107
|
return if should_stop?
|
108
|
+
|
108
109
|
sleep(LITTLE_SLEEP)
|
110
|
+
rescue Interrupt
|
111
|
+
# Ctrl-C should stop cleanly if used while the process is snoozing
|
112
|
+
@should_stop = true
|
113
|
+
return
|
109
114
|
end
|
110
115
|
end
|
111
116
|
end
|
data/lib/tasks/audit_bundle.rake
CHANGED
@@ -27,7 +27,7 @@ namespace :bundle do
|
|
27
27
|
|
28
28
|
gem_list = Bundler.with_unbundled_env { `bundle exec gem list ^#{gem}$` }
|
29
29
|
# Needs to match e.g. "nokogiri (1.12.5 x86_64-darwin)"
|
30
|
-
old_gem_version = gem_list.match(/ \(([0-9.]+)( [a-z0-9_-]*)?\)$/).to_a
|
30
|
+
old_gem_version = gem_list.match(/ \(([0-9.]+)( [a-z0-9_-]*)?\)$/).to_a[1]
|
31
31
|
unless old_gem_version
|
32
32
|
warn <<~MSG.chomp
|
33
33
|
Cannot determine gem version for gem=#{gem}. Aborting. Output from bundle exec gem list:
|
@@ -114,7 +114,7 @@ namespace :bundle do
|
|
114
114
|
end
|
115
115
|
|
116
116
|
gem_list = Bundler.with_unbundled_env { `bundle exec gem list ^#{gem}$` }
|
117
|
-
new_gem_version2 = gem_list.match(/ \(([0-9.]+)( [a-z0-9_-]*)?\)$/).to_a
|
117
|
+
new_gem_version2 = gem_list.match(/ \(([0-9.]+)( [a-z0-9_-]*)?\)$/).to_a[1]
|
118
118
|
|
119
119
|
if new_gem_version && new_gem_version != new_gem_version2
|
120
120
|
puts <<~MSG
|
@@ -132,7 +132,8 @@ namespace :bundle do
|
|
132
132
|
puts "Looking for changed files using git status\n\n"
|
133
133
|
files_to_git_rm = `git status vendor/cache/|grep 'deleted: ' | \
|
134
134
|
grep -o ': .*' | sed -e 's/^: *//'`.split("\n")
|
135
|
-
files_to_git_add = `git status Gemfile Gemfile.lock code_safety.yml
|
135
|
+
files_to_git_add = `git status Gemfile Gemfile.lock code_safety.yml config/code_safety.yml| \
|
136
|
+
grep 'modified: ' | \
|
136
137
|
grep -o ': .*' | sed -e 's/^: *//'`.split("\n")
|
137
138
|
files_to_git_add += `git status vendor/cache|expand|grep '^\s*vendor/cache' | \
|
138
139
|
sed -e 's/^ *//'`.split("\n")
|
data/lib/tasks/ci/brakeman.rake
CHANGED
@@ -32,7 +32,24 @@ namespace :ci do
|
|
32
32
|
|
33
33
|
brakeman = NdrDevSupport::RakeCI::BrakemanHelper.new
|
34
34
|
brakeman.commit = @commit
|
35
|
-
|
35
|
+
begin
|
36
|
+
brakeman.run(strict: true)
|
37
|
+
rescue StandardError => e
|
38
|
+
warn <<~MESSAGE
|
39
|
+
Error: Brakeman failed with #{e.class}: #{e}
|
40
|
+
There is probably a ruby syntax error in one of the files. To find it, run:
|
41
|
+
$ brakeman -I --debug
|
42
|
+
For the full backtrace, run
|
43
|
+
$ rake ci:brakeman --trace
|
44
|
+
MESSAGE
|
45
|
+
@attachments << {
|
46
|
+
color: 'danger',
|
47
|
+
title: 'Brakeman Error',
|
48
|
+
text: 'Brakeman run failed. Run brakeman -I --debug',
|
49
|
+
footer: 'bundle exec rake ci:brakeman:strict'
|
50
|
+
}
|
51
|
+
next
|
52
|
+
end
|
36
53
|
|
37
54
|
@metrics.concat(brakeman.metrics)
|
38
55
|
@attachments.concat(brakeman.attachments)
|
@@ -38,15 +38,17 @@ namespace :ci do
|
|
38
38
|
if prometheus.exist?(name)
|
39
39
|
prometheus.get(name)
|
40
40
|
else
|
41
|
-
|
41
|
+
labels = (label_set.keys + [:project]).uniq
|
42
|
+
prometheus.gauge(name, docstring: docstring, labels: labels,
|
43
|
+
preset_labels: { project: project })
|
42
44
|
end
|
43
|
-
gauge.set(
|
45
|
+
gauge.set(value, labels: label_set)
|
44
46
|
else
|
45
47
|
raise "Unknown metric type (#{metric.inspect})"
|
46
48
|
end
|
47
49
|
end
|
48
50
|
|
49
|
-
client = Prometheus::Client::Push.new("rake-ci-#{project}",
|
51
|
+
client = Prometheus::Client::Push.new(job: "rake-ci-#{project}", gateway: gateway)
|
50
52
|
|
51
53
|
begin
|
52
54
|
client.add(prometheus)
|
data/ndr_dev_support.gemspec
CHANGED
@@ -12,12 +12,13 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.homepage = 'https://github.com/PublicHealthEngland/ndr_dev_support'
|
13
13
|
spec.license = 'MIT'
|
14
14
|
|
15
|
-
spec.files = `git ls-files -z`.split("\x0").
|
15
|
+
spec.files = `git ls-files -z`.split("\x0").
|
16
|
+
reject { |f| f.match(%r{^(\.github|test|spec|features)/}) }
|
16
17
|
spec.bindir = 'exe'
|
17
18
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
18
19
|
spec.require_paths = ['lib']
|
19
20
|
|
20
|
-
spec.required_ruby_version = '>= 2.
|
21
|
+
spec.required_ruby_version = '>= 2.7'
|
21
22
|
|
22
23
|
spec.add_dependency 'pry'
|
23
24
|
|
@@ -28,8 +29,8 @@ Gem::Specification.new do |spec|
|
|
28
29
|
spec.add_dependency 'parser'
|
29
30
|
spec.add_dependency 'rainbow'
|
30
31
|
spec.add_dependency 'rubocop', '~> 1.7'
|
31
|
-
spec.add_dependency 'rubocop-rake', '~> 0.5'
|
32
32
|
spec.add_dependency 'rubocop-rails', '~> 2.9'
|
33
|
+
spec.add_dependency 'rubocop-rake', '~> 0.5'
|
33
34
|
spec.add_dependency 'unicode-display_width', '>= 1.3.3'
|
34
35
|
|
35
36
|
# Integration test dependencies:
|
@@ -46,7 +47,7 @@ Gem::Specification.new do |spec|
|
|
46
47
|
spec.add_dependency 'brakeman', '>= 4.7.1'
|
47
48
|
spec.add_dependency 'bundler-audit'
|
48
49
|
spec.add_dependency 'github-linguist'
|
49
|
-
spec.add_dependency 'prometheus-client', '~> 0.
|
50
|
+
spec.add_dependency 'prometheus-client', '~> 4.0.0'
|
50
51
|
spec.add_dependency 'rugged'
|
51
52
|
spec.add_dependency 'simplecov'
|
52
53
|
spec.add_dependency 'with_clean_rbenv'
|
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: 6.
|
4
|
+
version: 6.1.1
|
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: 2022-
|
11
|
+
date: 2022-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry
|
@@ -81,33 +81,33 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '1.7'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name: rubocop-
|
84
|
+
name: rubocop-rails
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '2.9'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '2.9'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name: rubocop-
|
98
|
+
name: rubocop-rake
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
103
|
+
version: '0.5'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '0.5'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: unicode-display_width
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -282,14 +282,14 @@ dependencies:
|
|
282
282
|
requirements:
|
283
283
|
- - "~>"
|
284
284
|
- !ruby/object:Gem::Version
|
285
|
-
version: 0.
|
285
|
+
version: 4.0.0
|
286
286
|
type: :runtime
|
287
287
|
prerelease: false
|
288
288
|
version_requirements: !ruby/object:Gem::Requirement
|
289
289
|
requirements:
|
290
290
|
- - "~>"
|
291
291
|
- !ruby/object:Gem::Version
|
292
|
-
version: 0.
|
292
|
+
version: 4.0.0
|
293
293
|
- !ruby/object:Gem::Dependency
|
294
294
|
name: rugged
|
295
295
|
requirement: !ruby/object:Gem::Requirement
|
@@ -481,7 +481,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
481
481
|
requirements:
|
482
482
|
- - ">="
|
483
483
|
- !ruby/object:Gem::Version
|
484
|
-
version: '2.
|
484
|
+
version: '2.7'
|
485
485
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
486
486
|
requirements:
|
487
487
|
- - ">="
|