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 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
  - - ">="