ndr_dev_support 6.1.0 → 6.1.3

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: 67a32537a9f42f905530b37c03c4e98ddd4aa8436833e1ce38e4443701f8216d
4
- data.tar.gz: cd6489387c3d8bd0af51b26e4315dcfd57b1592a46dda39e7e2e1e5f161d519d
3
+ metadata.gz: 538f2514db4fc9b6227cbb94aa9d72521b7c0a36ee24e6a711e9bc1d369fbc57
4
+ data.tar.gz: 9f939ecd79212a0d8818d2c718d71b7f95e148bf86671c2c349d32f8e5675cb7
5
5
  SHA512:
6
- metadata.gz: cf21a7b0849c34190f27024df4a1e50c11bc635681cba4dc4a3e6708c37a0b81400ef5810badf125cd65044cfc69eab543d2c531a378db5e0853eeba57ed4012
7
- data.tar.gz: 229c84f00339e8435b75d2048e8d849092f50ce79e1a0d8f1964d575e89ec74e26b1b975d768ae422811d609b84a503d7014dcef95274ab626fd6c441e1212af
6
+ metadata.gz: 6b13169c99faddabcce0a28bdafb78ca5c7c899e1affc263df976030dcfef3a991742aaab569e80ab763726c9d525cd1f792a45b8bf0daed91bae60e404a4aa9
7
+ data.tar.gz: df4d686cd9d8e2de66c6bdfc070a4221baff52c6fe5bf4ca064f9f94dd4ab30311848e15f5f955b82d1d3c16f0845ac07afbba93c6a4d4b77226b217928226ab
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  ## [Unreleased]
2
2
  * No unreleased changes
3
3
 
4
+ ## 6.1.3 / 2022-05-25
5
+ ### Fixed
6
+ * bundle:update should update secondary gem lock files
7
+
8
+ ## 6.1.2 / 2022-05-24
9
+ ### Fixed
10
+ * bundle:update should fetch binary gems for all bundled platforms
11
+
12
+ ## 6.1.1 / 2022-04-29
13
+ ### Fixed
14
+ * CI: fix crashes when brakeman parsing fails
15
+
4
16
  ## 6.1.0 / 2022-04-28
5
17
  ### Fixed
6
18
  * CI: support Ruby 3.0
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: 25fcab1b2df9476bfa294085a46073b218785c19
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,7 +231,7 @@ file safety:
231
231
  lib/ndr_dev_support/version.rb:
232
232
  comments:
233
233
  reviewed_by: brian.shand
234
- safe_revision: 25fcab1b2df9476bfa294085a46073b218785c19
234
+ safe_revision: 5d47f0c8574b6fbc69f9144ce508f169b95cd90c
235
235
  lib/tasks/audit_bundle.rake:
236
236
  comments:
237
237
  reviewed_by: brian.shand
@@ -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
@@ -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.1.0'
5
+ VERSION = '6.1.3'
6
6
  end
@@ -11,6 +11,10 @@ namespace :bundle do
11
11
  Updates the bundled gem (e.g. rails) version to e.g. 6.0.4.7
12
12
  and provides instructions for committing changes.
13
13
  It will attempt to modify a hardcoded version in the Gemfile if necessary.
14
+
15
+ If a secondary Gemfile is present in the same directory, e.g. Gemfile.monterey,
16
+ and it defines constants such as BUNDLER_OVERRIDE_PUMA=true, then this task
17
+ will attempt to update the secondary lock file, e.g. Gemfile.monterey.lock too.
14
18
  USAGE
15
19
  task(:update) do
16
20
  unless %w[git git-svn].include?(repository_type)
@@ -108,14 +112,44 @@ namespace :bundle do
108
112
  exit 1
109
113
  end
110
114
 
115
+ gem_list = Bundler.with_unbundled_env { `bundle exec gem list ^#{gem}$` }
116
+ new_gem_version2 = gem_list.match(/ \(([0-9.]+)( [a-z0-9_-]*)?\)$/).to_a[1]
117
+
118
+ # Update secondary Gemfile.lock to keep vendored gems in sync
119
+ secondary_gemfiles = `git ls-tree --name-only HEAD Gemfile.*`.split("\n").grep_v(/[.]lock$/)
120
+ secondary_gemfiles.each do |secondary_gemfile|
121
+ gem_re = /^BUNDLER_OVERRIDE_([^ =]*) *=/
122
+ secondary_gems = File.readlines(secondary_gemfile).grep(gem_re).
123
+ collect { |s| gem_re.match(s)[1].downcase }
124
+ if secondary_gems.empty?
125
+ puts "Warning: cannot update #{secondary_gemfile}.lock - no BUNDLER_OVERRIDE_... entries"
126
+ next
127
+ end
128
+ puts "Updating #{secondary_gemfile}.lock"
129
+ FileUtils.cp('Gemfile.lock', "#{secondary_gemfile}.lock")
130
+ Bundler.with_unbundled_env do
131
+ system("BUNDLE_GEMFILE=#{secondary_gemfile} bundle update --quiet \
132
+ --conservative --minor #{secondary_gems.join(' ')}")
133
+ end
134
+ system('git checkout -q vendor/cache/')
135
+ system('git clean -q -f vendor/cache')
136
+ Bundler.with_unbundled_env { system('bundle install --local --quiet 2> /dev/null') }
137
+ puts "Finished updating #{secondary_gemfile}.lock"
138
+ end
139
+
140
+ # Retrieve binary gems for platforms listed in Gemfile.lock
141
+ platforms = `bundle platform`.split("\n").grep(/^[*] x86_64-/).collect { |s| s[2..] }
142
+ Dir.chdir('vendor/cache') do
143
+ platforms.each do |platform|
144
+ system("gem fetch #{gem} --version=#{new_gem_version2} --platform=#{platform}")
145
+ end
146
+ end
147
+
111
148
  if File.exist?(SAFETY_FILE)
112
149
  # Remove references to unused files in code_safety.yml
113
150
  system('rake audit:tidy_code_safety_file')
114
151
  end
115
152
 
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[1]
118
-
119
153
  if new_gem_version && new_gem_version != new_gem_version2
120
154
  puts <<~MSG
121
155
  Error: Tried to update gem #{gem} to version #{new_gem_version} but ended up at version #{new_gem_version2}. Aborting.
@@ -132,7 +166,9 @@ namespace :bundle do
132
166
  puts "Looking for changed files using git status\n\n"
133
167
  files_to_git_rm = `git status vendor/cache/|grep 'deleted: ' | \
134
168
  grep -o ': .*' | sed -e 's/^: *//'`.split("\n")
135
- files_to_git_add = `git status Gemfile Gemfile.lock code_safety.yml config/code_safety.yml| \
169
+ secondary_lockfiles = secondary_gemfiles.collect { |s| "#{s}.lock" }
170
+ files_to_git_add = `git status Gemfile Gemfile.lock #{secondary_gemfiles.join(' ')} \
171
+ #{secondary_lockfiles.join(' ')} code_safety.yml config/code_safety.yml| \
136
172
  grep 'modified: ' | \
137
173
  grep -o ': .*' | sed -e 's/^: *//'`.split("\n")
138
174
  files_to_git_add += `git status vendor/cache|expand|grep '^\s*vendor/cache' | \
@@ -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)
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.1.0
4
+ version: 6.1.3
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-04-28 00:00:00.000000000 Z
11
+ date: 2022-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry