ndr_dev_support 6.0.3 → 6.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ddf993378e5cd98d65313341b0af15677fb8934c42eebb91875d49b66b1ff27
4
- data.tar.gz: fceda29b2a92b42b2d480926e9079c6f0f7cf2cfb42c6d7c1263fc58308a7bc1
3
+ metadata.gz: 35fef5ec91f5db4578a83b30f719011734cf4ee3cbb14ca9e99c30893e3f5e9f
4
+ data.tar.gz: 9480e1be5513b83c6213d54d2b8ef1e6ed13ca9d90162be41ad17af105df355c
5
5
  SHA512:
6
- metadata.gz: 22b80f92debe98a7092b9b7a1322792142e459e33b8d2cdc7dbaecbcbd3f4e8fa1757eeb033c0d1c98b36c5f2411130b6f7aa7a6c4a4ec13f06bf20436746290
7
- data.tar.gz: be6721ab8d9ea0e37035cd593748f6d15ce7f958cf5fe5e934c13db2c9a8b61c7dbc751c1b217b47f18c9b3950272496af013190fd7e81f752367839d1b9af55
6
+ metadata.gz: 4db7ec6d1b673f3c10e11040c11e600ddadc2d8657a837d231bfa3216668ce8254479ed4af8f1d1b4024afa9f3252158546db499153d28098631629d06420b65
7
+ data.tar.gz: 4719a51ea6c3c7eb52e83a5e5c943813b0698e5d3d1ddabba01fd36b1ae7770858cd7c21c697279e8a7865f9965570eae7512997ec410f9b26e03c6572e9760d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  ## [Unreleased]
2
- * no unreleased changes
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: 65d59fe9bba9dc7d404f92b54a115b14e6697af9
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: 5943e1a2ef7095e44858806ad16713cffc67c31b
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: josh.pencheon
130
- safe_revision: 07ba05e9dd59eeac187b5fe730ee653baa1a2732
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: 5943e1a2ef7095e44858806ad16713cffc67c31b
234
+ safe_revision: 5d47f0c8574b6fbc69f9144ce508f169b95cd90c
235
235
  lib/tasks/audit_bundle.rake:
236
236
  comments:
237
237
  reviewed_by: brian.shand
238
- safe_revision: 93f9ed210c6a19eee4884ea8a906067c65ee67f6
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: josh.pencheon
279
- safe_revision: 2d1b9d19acafebe6ca5f995bf15243abe2847eec
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: 65d59fe9bba9dc7d404f92b54a115b14e6697af9
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
@@ -2,5 +2,5 @@
2
2
  # This defines the NdrDevSupport version. If you change it, rebuild and commit the gem.
3
3
  # Use "rake build" to build the gem, see rake -T for all bundler rake tasks (and our own).
4
4
  module NdrDevSupport
5
- VERSION = '6.0.3'
5
+ VERSION = '6.1.1'
6
6
  end
@@ -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&.second
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&.second
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|grep 'modified: ' | \
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")
@@ -32,7 +32,24 @@ namespace :ci do
32
32
 
33
33
  brakeman = NdrDevSupport::RakeCI::BrakemanHelper.new
34
34
  brakeman.commit = @commit
35
- brakeman.run(strict: true)
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
- prometheus.gauge(name, docstring, project: project)
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(label_set, value)
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}", nil, gateway)
51
+ client = Prometheus::Client::Push.new(job: "rake-ci-#{project}", gateway: gateway)
50
52
 
51
53
  begin
52
54
  client.add(prometheus)
@@ -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").reject { |f| f.match(%r{^(\.github|test|spec|features)/}) }
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.6'
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.9.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.0.3
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-03-14 00:00:00.000000000 Z
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-rake
84
+ name: rubocop-rails
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0.5'
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: '0.5'
96
+ version: '2.9'
97
97
  - !ruby/object:Gem::Dependency
98
- name: rubocop-rails
98
+ name: rubocop-rake
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '2.9'
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: '2.9'
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.9.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.9.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.6'
484
+ version: '2.7'
485
485
  required_rubygems_version: !ruby/object:Gem::Requirement
486
486
  requirements:
487
487
  - - ">="