ndr_dev_support 6.0.0 → 6.0.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: 5d2619e04b75d121a98f4b49e15bcb35152b7bae2ff03586ac2eb9609c9a2008
4
- data.tar.gz: c6cfff26810411f1744c40ee9496c4dc3ced957521a5b983a43d294748bdddd3
3
+ metadata.gz: 0ddf993378e5cd98d65313341b0af15677fb8934c42eebb91875d49b66b1ff27
4
+ data.tar.gz: fceda29b2a92b42b2d480926e9079c6f0f7cf2cfb42c6d7c1263fc58308a7bc1
5
5
  SHA512:
6
- metadata.gz: 8fa1e81dcdebb916400971a58eae24f940a91962c571fbebfbf37d0ec7e8caaf9f66f8052d58b73ece5302b80c36c4b1037daeee48f645bf44d39241d3b07cf0
7
- data.tar.gz: 7d5ebe7e388660c72e1cde750b0e44be824cb26b2261d885de258f663c1b86fefd475263bc5580aee7498f460374d6053595080ecddfc611b3292ea5c42d0c0d
6
+ metadata.gz: 22b80f92debe98a7092b9b7a1322792142e459e33b8d2cdc7dbaecbcbd3f4e8fa1757eeb033c0d1c98b36c5f2411130b6f7aa7a6c4a4ec13f06bf20436746290
7
+ data.tar.gz: be6721ab8d9ea0e37035cd593748f6d15ce7f958cf5fe5e934c13db2c9a8b61c7dbc751c1b217b47f18c9b3950272496af013190fd7e81f752367839d1b9af55
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  ## [Unreleased]
2
- *no unreleased changes*
2
+ * no unreleased changes
3
+
4
+ ## 6.0.3 / 2022-03-14
5
+ ### Added
6
+ * Add `bundle:update` rake task to update bundled gem files
7
+
8
+ ## 6.0.2 / 2022-01-14
9
+ ### Fixed
10
+ * Support Rails 7, Ruby 3.1
11
+
12
+ ## 6.0.1 / 2021-07-09
13
+ ### Fixed
14
+ * Fix ruby warnings in CI plugin
15
+ * Remove inconsistent trailing whitespace in code_safety.yml
3
16
 
4
17
  ## 6.0.0 / 2021-02-25
5
18
  ### Changed
data/code_safety.yml CHANGED
@@ -1,339 +1,347 @@
1
1
  ---
2
2
  file safety:
3
3
  ".github/CODEOWNERS":
4
- comments:
4
+ comments:
5
5
  reviewed_by: josh.pencheon
6
6
  safe_revision: ae4a81930ad3ab1b858474bc73b714aeed0f83a8
7
7
  ".github/workflows/lint.yml":
8
- comments:
8
+ comments:
9
9
  reviewed_by: josh.pencheon
10
10
  safe_revision: 0ce43640c417e174054f903fd82043948ebe8ccb
11
11
  ".github/workflows/test.yml":
12
- comments:
13
- reviewed_by: joshpencheon
14
- safe_revision: 366ef1122fa4502c25cba9e508c565989545ef25
12
+ comments:
13
+ reviewed_by: brian.shand
14
+ safe_revision: 65d59fe9bba9dc7d404f92b54a115b14e6697af9
15
15
  ".gitignore":
16
- comments:
16
+ comments:
17
17
  reviewed_by: josh.pencheon
18
18
  safe_revision: 38266fd047417ecb4d5e6de71746f40495fc9de9
19
19
  ".hound.yml":
20
- comments:
20
+ comments:
21
21
  reviewed_by: timgentry
22
22
  safe_revision: c03d4ff0dd037a2798563d464d0daeca1189debe
23
23
  ".rubocop.yml":
24
- comments:
24
+ comments:
25
25
  reviewed_by: josh.pencheon
26
26
  safe_revision: 6211cff0ce44645ed3752723b5b0ee65f24c66aa
27
27
  CHANGELOG.md:
28
- comments:
29
- reviewed_by: joshpencheon
30
- safe_revision: 0edd51580039e7ebf99ce629d26c8d61656dfc5f
28
+ comments:
29
+ reviewed_by: brian.shand
30
+ safe_revision: 5943e1a2ef7095e44858806ad16713cffc67c31b
31
31
  CODE_OF_CONDUCT.md:
32
- comments:
32
+ comments:
33
33
  reviewed_by: timgentry
34
34
  safe_revision: c59a45986f8b6d087c8c21b1e889f31f7346da17
35
35
  Gemfile:
36
- comments:
36
+ comments:
37
37
  reviewed_by: timgentry
38
38
  safe_revision: c59a45986f8b6d087c8c21b1e889f31f7346da17
39
39
  LICENSE.txt:
40
- comments:
40
+ comments:
41
41
  reviewed_by: timgentry
42
42
  safe_revision: c59a45986f8b6d087c8c21b1e889f31f7346da17
43
43
  README.md:
44
- comments:
44
+ comments:
45
45
  reviewed_by: josh.pencheon
46
46
  safe_revision: a18f35895baebb1b0971043b3b3f666bb4eb9b5c
47
47
  Rakefile:
48
- comments:
48
+ comments:
49
49
  reviewed_by: josh.pencheon
50
50
  safe_revision: a601dbd139132f50eb22b1c88d5eda14a465a7c2
51
51
  bin/console:
52
- comments:
52
+ comments:
53
53
  reviewed_by: josh.pencheon
54
54
  safe_revision: 3377bef3131bbe58acaa82083fcb27c9c6d1e2b0
55
55
  bin/setup:
56
- comments:
56
+ comments:
57
57
  reviewed_by: timgentry
58
58
  safe_revision: c59a45986f8b6d087c8c21b1e889f31f7346da17
59
59
  config/rubocop/ndr.yml:
60
- comments:
60
+ comments:
61
61
  reviewed_by: josh.pencheon
62
62
  safe_revision: 05476acacadfa0ad7404f3c37cf3c17c4e0ba11b
63
63
  gemfiles/Gemfile.rails52:
64
- comments:
64
+ comments:
65
65
  reviewed_by: joshpencheon
66
66
  safe_revision: f25001ef74c44ab727eef5cb29cef9a54525d36f
67
67
  gemfiles/Gemfile.rails60:
68
- comments:
68
+ comments:
69
69
  reviewed_by: joshpencheon
70
70
  safe_revision: f25001ef74c44ab727eef5cb29cef9a54525d36f
71
71
  gemfiles/Gemfile.rails61:
72
- comments:
72
+ comments:
73
73
  reviewed_by: joshpencheon
74
74
  safe_revision: f25001ef74c44ab727eef5cb29cef9a54525d36f
75
+ gemfiles/Gemfile.rails70:
76
+ comments:
77
+ reviewed_by: brian.shand
78
+ safe_revision: 65d59fe9bba9dc7d404f92b54a115b14e6697af9
75
79
  lib/minitest/rake_ci.rb:
76
- comments:
80
+ comments:
77
81
  reviewed_by: josh.pencheon
78
82
  safe_revision: 26efe45f35f211e7cb7a04967c51c0b6d116321e
79
83
  lib/minitest/rake_ci_plugin.rb:
80
- comments:
81
- reviewed_by: josh.pencheon
82
- safe_revision: 958ef09c5cf50bb50348e6bff949e3e5989254f9
84
+ comments:
85
+ reviewed_by: brian.shand
86
+ safe_revision: 5cb6964bee8c7a7856193232f6b06653235a8309
83
87
  lib/ndr_dev_support.rb:
84
- comments:
88
+ comments:
85
89
  reviewed_by: josh.pencheon
86
90
  safe_revision: 6211cff0ce44645ed3752723b5b0ee65f24c66aa
87
91
  lib/ndr_dev_support/capistrano/assets.rb:
88
- comments:
92
+ comments:
89
93
  reviewed_by: josh.pencheon
90
94
  safe_revision: 74a4cd909afaf2ee8bcabdd252b2383b1474b6d4
91
95
  lib/ndr_dev_support/capistrano/ndr_model.rb:
92
- comments:
96
+ comments:
93
97
  reviewed_by: josh.pencheon
94
98
  safe_revision: 57271c07e44808d8809e1fa11227a8c2e91a14bf
95
99
  lib/ndr_dev_support/capistrano/restart.rb:
96
- comments:
100
+ comments:
97
101
  reviewed_by: josh.pencheon
98
102
  safe_revision: a2b7c20eb58572c213f77677b36aa2f7e6db747e
99
103
  lib/ndr_dev_support/capistrano/revision_logger.rb:
100
- comments:
104
+ comments:
101
105
  reviewed_by: josh.pencheon
102
106
  safe_revision: a2b7c20eb58572c213f77677b36aa2f7e6db747e
103
107
  lib/ndr_dev_support/capistrano/ruby_version.rb:
104
- comments:
108
+ comments:
105
109
  reviewed_by: josh.pencheon
106
110
  safe_revision: a2b7c20eb58572c213f77677b36aa2f7e6db747e
107
111
  lib/ndr_dev_support/capistrano/standalone_gems.rb:
108
- comments:
112
+ comments:
109
113
  reviewed_by: josh.pencheon
110
114
  safe_revision: eec7079a777c84f61b05c236df60195d4ddcf488
111
115
  lib/ndr_dev_support/capistrano/svn_cache.rb:
112
- comments:
116
+ comments:
113
117
  reviewed_by: josh.pencheon
114
118
  safe_revision: 2baa360b06290775a961a7573fe08edd18f8312e
115
119
  lib/ndr_dev_support/capistrano/sysadmin_scripts.rb:
116
- comments:
120
+ comments:
117
121
  reviewed_by: josh.pencheon
118
122
  safe_revision: a2b7c20eb58572c213f77677b36aa2f7e6db747e
119
123
  lib/ndr_dev_support/daemon/ci_server.rb:
120
- comments:
124
+ comments:
121
125
  reviewed_by: josh.pencheon
122
126
  safe_revision: 3fdf010a91bd9927ef34e3df66b8a4bbbd20315a
123
127
  lib/ndr_dev_support/daemon/stoppable.rb:
124
- comments:
128
+ comments:
125
129
  reviewed_by: josh.pencheon
126
130
  safe_revision: 07ba05e9dd59eeac187b5fe730ee653baa1a2732
127
131
  lib/ndr_dev_support/integration_testing.rb:
128
- comments:
132
+ comments:
129
133
  reviewed_by: josh.pencheon
130
134
  safe_revision: 5b427cb12907bc87e5e0cb754dcaa524fdbfb1b9
131
135
  lib/ndr_dev_support/integration_testing/drivers/chrome.rb:
132
- comments:
136
+ comments:
133
137
  reviewed_by: josh.pencheon
134
138
  safe_revision: f1a32b1f2d1851b87a883dbf8620aa0e921e436c
135
139
  lib/ndr_dev_support/integration_testing/drivers/chrome_headless.rb:
136
- comments:
140
+ comments:
137
141
  reviewed_by: josh.pencheon
138
142
  safe_revision: '0409b687d31202b2a4281ebfb7b0c330cc78d904'
139
143
  lib/ndr_dev_support/integration_testing/drivers/firefox.rb:
140
- comments:
144
+ comments:
141
145
  reviewed_by: josh.pencheon
142
146
  safe_revision: f1a32b1f2d1851b87a883dbf8620aa0e921e436c
143
147
  lib/ndr_dev_support/integration_testing/drivers/poltergeist.rb:
144
- comments:
148
+ comments:
145
149
  reviewed_by: josh.pencheon
146
150
  safe_revision: f1a32b1f2d1851b87a883dbf8620aa0e921e436c
147
151
  lib/ndr_dev_support/integration_testing/drivers/switchable.rb:
148
- comments:
152
+ comments:
149
153
  reviewed_by: josh.pencheon
150
154
  safe_revision: e9b74559d28e7520c0376d1bec4a2566aae14b05
151
155
  lib/ndr_dev_support/integration_testing/dsl.rb:
152
- comments:
156
+ comments:
153
157
  reviewed_by: josh.pencheon
154
158
  safe_revision: f1a32b1f2d1851b87a883dbf8620aa0e921e436c
155
159
  lib/ndr_dev_support/integration_testing/flakey_tests.rb:
156
- comments:
160
+ comments:
157
161
  reviewed_by: joshpencheon
158
162
  safe_revision: 9fc4527cbc132218533cec8d696bd2aadd4a2291
159
163
  lib/ndr_dev_support/rake_ci/brakeman_helper.rb:
160
- comments:
164
+ comments:
161
165
  reviewed_by: josh.pencheon
162
166
  safe_revision: 053c9834ca5d402a1f8dc8d09257dc7075a5ec06
163
167
  lib/ndr_dev_support/rake_ci/commit_cop.rb:
164
- comments:
168
+ comments:
165
169
  reviewed_by: josh.pencheon
166
170
  safe_revision: '01682912c2fc526b0bc29e2836de0aea31c65b12'
167
171
  lib/ndr_dev_support/rake_ci/commit_cop/concerns/deputisable.rb:
168
- comments:
172
+ comments:
169
173
  reviewed_by: josh.pencheon
170
174
  safe_revision: a3f5b7d3709f7e340f2f7e81dab026a63b21e3ff
171
175
  lib/ndr_dev_support/rake_ci/commit_cop/migration_without_structure_dump.rb:
172
- comments:
176
+ comments:
173
177
  reviewed_by: josh.pencheon
174
178
  safe_revision: a3f5b7d3709f7e340f2f7e81dab026a63b21e3ff
175
179
  lib/ndr_dev_support/rake_ci/commit_cop/missing_associated_test_file.rb:
176
- comments:
180
+ comments:
177
181
  reviewed_by: josh.pencheon
178
182
  safe_revision: '01682912c2fc526b0bc29e2836de0aea31c65b12'
179
183
  lib/ndr_dev_support/rake_ci/commit_cop/modified_migration.rb:
180
- comments:
184
+ comments:
181
185
  reviewed_by: josh.pencheon
182
186
  safe_revision: a3f5b7d3709f7e340f2f7e81dab026a63b21e3ff
183
187
  lib/ndr_dev_support/rake_ci/commit_cop/renamed_migration.rb:
184
- comments:
188
+ comments:
185
189
  reviewed_by: josh.pencheon
186
190
  safe_revision: a3f5b7d3709f7e340f2f7e81dab026a63b21e3ff
187
191
  lib/ndr_dev_support/rake_ci/concerns/commit_metadata_persistable.rb:
188
- comments:
192
+ comments:
189
193
  reviewed_by: josh.pencheon
190
194
  safe_revision: fd9fc5dd275a2285549984688d1d3744a628fd73
191
195
  lib/ndr_dev_support/rake_ci/redmine/ticket_resolver.rb:
192
- comments:
196
+ comments:
193
197
  reviewed_by: josh.pencheon
194
198
  safe_revision: 788b8fc31952a6fb640101df96a370b21d269249
195
199
  lib/ndr_dev_support/rake_ci/simple_cov_helper.rb:
196
- comments:
200
+ comments:
197
201
  reviewed_by: timgentry
198
202
  safe_revision: 678403f777614189ab89aafa1cb1eafbcf48763c
199
203
  lib/ndr_dev_support/rubocop/executor.rb:
200
- comments:
204
+ comments:
201
205
  reviewed_by: josh.pencheon
202
206
  safe_revision: 1d8a97dc5dd2e58bfd689d5e2c94e077a4ca0649
203
207
  lib/ndr_dev_support/rubocop/inject.rb:
204
- comments:
208
+ comments:
205
209
  reviewed_by: josh.pencheon
206
210
  safe_revision: 1d8a97dc5dd2e58bfd689d5e2c94e077a4ca0649
207
211
  lib/ndr_dev_support/rubocop/range_augmenter.rb:
208
- comments:
212
+ comments:
209
213
  reviewed_by: josh.pencheon
210
214
  safe_revision: 136936265a5b79f0eca1bc7e58c607a2492e57a5
211
215
  lib/ndr_dev_support/rubocop/range_finder.rb:
212
- comments:
216
+ comments:
213
217
  reviewed_by: josh.pencheon
214
218
  safe_revision: 1d8a97dc5dd2e58bfd689d5e2c94e077a4ca0649
215
219
  lib/ndr_dev_support/rubocop/reporter.rb:
216
- comments:
220
+ comments:
217
221
  reviewed_by: joshpencheon
218
222
  safe_revision: 0c1489e51848d8e7a0903128ea934064c0ab254e
219
223
  lib/ndr_dev_support/slack_message_publisher.rb:
220
- comments:
224
+ comments:
221
225
  reviewed_by: josh.pencheon
222
226
  safe_revision: ad38e92c6e56b9d81fdab10681d8f2924eeadf5a
223
227
  lib/ndr_dev_support/tasks.rb:
224
- comments:
225
- reviewed_by: josh.pencheon
226
- safe_revision: 2154aa7f32e731933ff6091b8f42b2b014028a6a
228
+ comments:
229
+ reviewed_by: brian.shand
230
+ safe_revision: 93f9ed210c6a19eee4884ea8a906067c65ee67f6
227
231
  lib/ndr_dev_support/version.rb:
228
- comments:
229
- reviewed_by: joshpencheon
230
- safe_revision: 0edd51580039e7ebf99ce629d26c8d61656dfc5f
232
+ comments:
233
+ reviewed_by: brian.shand
234
+ safe_revision: 5943e1a2ef7095e44858806ad16713cffc67c31b
235
+ lib/tasks/audit_bundle.rake:
236
+ comments:
237
+ reviewed_by: brian.shand
238
+ safe_revision: 93f9ed210c6a19eee4884ea8a906067c65ee67f6
231
239
  lib/tasks/audit_code.rake:
232
240
  comments: Identical to the version reviewed by josh.pencheon when contained within
233
241
  ndr_support
234
- reviewed_by: josh.pencheon
235
- safe_revision: cc586e0bcb9b636a4aab19198dfc99171ef49f50
242
+ reviewed_by: brian.shand
243
+ safe_revision: 0d1c9d3e7192ad9e6c979d8d772ca49fc91f93cb
236
244
  lib/tasks/ci/brakeman.rake:
237
- comments:
245
+ comments:
238
246
  reviewed_by: josh.pencheon
239
247
  safe_revision: fe7dfc7f1775e8b85ae6968e8f475b9e930addf7
240
248
  lib/tasks/ci/bundle_audit.rake:
241
- comments:
249
+ comments:
242
250
  reviewed_by: josh.pencheon
243
251
  safe_revision: ddcf7de0bf1f5fb17cc28e2460009e162ff8917c
244
252
  lib/tasks/ci/commit_cop.rake:
245
- comments:
253
+ comments:
246
254
  reviewed_by: josh.pencheon
247
255
  safe_revision: a3f5b7d3709f7e340f2f7e81dab026a63b21e3ff
248
256
  lib/tasks/ci/dependencies.rake:
249
- comments:
257
+ comments:
250
258
  reviewed_by: josh.pencheon
251
259
  safe_revision: 2f22aa6cc2f86b84e0bf2247e73bed205930db5a
252
260
  lib/tasks/ci/housekeep.rake:
253
- comments:
261
+ comments:
254
262
  reviewed_by: timgentry
255
263
  safe_revision: 3dfcdb6c76fbccc44a331986673d63282f87f2fa
256
264
  lib/tasks/ci/linguist.rake:
257
- comments:
265
+ comments:
258
266
  reviewed_by: timgentry
259
267
  safe_revision: 00cd6c2f71612a467ee88ad53c21e08f073871d5
260
268
  lib/tasks/ci/minitest.rake:
261
- comments:
269
+ comments:
262
270
  reviewed_by: josh.pencheon
263
271
  safe_revision: 12aad1254186ee9ce0fde263bf8dccf46cdfebe2
264
272
  lib/tasks/ci/notes.rake:
265
- comments:
273
+ comments:
266
274
  reviewed_by: timgentry
267
275
  safe_revision: f828113894a16581d0aa181504c799e661f8401d
268
276
  lib/tasks/ci/prometheus.rake:
269
- comments:
277
+ comments:
270
278
  reviewed_by: josh.pencheon
271
279
  safe_revision: 2d1b9d19acafebe6ca5f995bf15243abe2847eec
272
280
  lib/tasks/ci/redmine.rake:
273
- comments:
281
+ comments:
274
282
  reviewed_by: josh.pencheon
275
283
  safe_revision: 12aad1254186ee9ce0fde263bf8dccf46cdfebe2
276
284
  lib/tasks/ci/rugged.rake:
277
- comments:
285
+ comments:
278
286
  reviewed_by: josh.pencheon
279
287
  safe_revision: 15543b915771dfe2ed81b8b326bdd3ab2cb5b562
280
288
  lib/tasks/ci/server.rake:
281
- comments:
289
+ comments:
282
290
  reviewed_by: josh.pencheon
283
291
  safe_revision: fe8682a3300a322c5f6b9a17dce471f11fa5e307
284
292
  lib/tasks/ci/simplecov.rake:
285
- comments:
293
+ comments:
286
294
  reviewed_by: josh.pencheon
287
295
  safe_revision: 6240a84dc859af0623328f8667b93299c8eae257
288
296
  lib/tasks/ci/slack.rake:
289
- comments:
297
+ comments:
290
298
  reviewed_by: josh.pencheon
291
299
  safe_revision: 6cb22447594ebf450fc60deb90fd223c8067ff18
292
300
  lib/tasks/ci/stats.rake:
293
- comments:
301
+ comments:
294
302
  reviewed_by: josh.pencheon
295
303
  safe_revision: 137be2205f283d444286c47502387487bb1b7015
296
304
  lib/tasks/rubocop.rake:
297
- comments:
305
+ comments:
298
306
  reviewed_by: josh.pencheon
299
307
  safe_revision: 9f33cc3f6fed0c24cb215befa1beaa4bc03e81ef
300
308
  ndr_dev_support.gemspec:
301
- comments:
302
- reviewed_by: joshpencheon
303
- safe_revision: 9fc4527cbc132218533cec8d696bd2aadd4a2291
309
+ comments:
310
+ reviewed_by: brian.shand
311
+ safe_revision: 65d59fe9bba9dc7d404f92b54a115b14e6697af9
304
312
  test/daemon/ci_server_test.rb:
305
- comments:
313
+ comments:
306
314
  reviewed_by: josh.pencheon
307
315
  safe_revision: cdd176f2e90284e11899c5c6eea1032f9b785b74
308
316
  test/integration_testing/flakey_tests_test.rb:
309
- comments:
317
+ comments:
310
318
  reviewed_by: joshpencheon
311
319
  safe_revision: 9fc4527cbc132218533cec8d696bd2aadd4a2291
312
320
  test/ndr_dev_support_test.rb:
313
- comments:
321
+ comments:
314
322
  reviewed_by: timgentry
315
323
  safe_revision: 26a8907a7a8a6b0d836aa12ca0335fa40be12240
316
324
  test/rake_ci/commit_cop/migration_without_structure_dump_test.rb:
317
- comments:
325
+ comments:
318
326
  reviewed_by: josh.pencheon
319
327
  safe_revision: a3f5b7d3709f7e340f2f7e81dab026a63b21e3ff
320
328
  test/rake_ci/commit_cop/missing_associated_test_file_test.rb:
321
- comments:
329
+ comments:
322
330
  reviewed_by: josh.pencheon
323
331
  safe_revision: '01682912c2fc526b0bc29e2836de0aea31c65b12'
324
332
  test/rake_ci/commit_cop/modified_migration_test.rb:
325
- comments:
333
+ comments:
326
334
  reviewed_by: josh.pencheon
327
335
  safe_revision: a3f5b7d3709f7e340f2f7e81dab026a63b21e3ff
328
336
  test/rake_ci/commit_cop/renamed_migration_test.rb:
329
- comments:
337
+ comments:
330
338
  reviewed_by: josh.pencheon
331
339
  safe_revision: a3f5b7d3709f7e340f2f7e81dab026a63b21e3ff
332
340
  test/rake_ci/redmine/ticket_resolver_test.rb:
333
- comments:
341
+ comments:
334
342
  reviewed_by: josh.pencheon
335
343
  safe_revision: 12aad1254186ee9ce0fde263bf8dccf46cdfebe2
336
344
  test/test_helper.rb:
337
- comments:
345
+ comments:
338
346
  reviewed_by: josh.pencheon
339
347
  safe_revision: cdd176f2e90284e11899c5c6eea1032f9b785b74
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+ gemspec path: '..'
3
+
4
+ gem 'activesupport', '~> 7.0.0'
@@ -57,7 +57,7 @@ module Minitest
57
57
  save_current_commit_data(hash)
58
58
  end
59
59
 
60
- def commit
60
+ redefine_method :commit do
61
61
  return @commit if @commit
62
62
 
63
63
  repo = Rugged::Repository.new('.')
@@ -1,4 +1,5 @@
1
1
  load 'tasks/audit_code.rake'
2
+ load 'tasks/audit_bundle.rake'
2
3
  load 'tasks/ci/brakeman.rake'
3
4
  load 'tasks/ci/bundle_audit.rake'
4
5
  load 'tasks/ci/commit_cop.rake'
@@ -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.0'.freeze
5
+ VERSION = '6.0.3'
6
6
  end
@@ -0,0 +1,170 @@
1
+ # A rake task to update the bundled version of a gem
2
+
3
+ # Assumes constant SAFETY_FILE and function repository_type are defined in another rake task.
4
+
5
+ namespace :bundle do
6
+ desc <<~USAGE
7
+ Update to a later version of a gem interactively.
8
+
9
+ Usage: bundle:update gem=rails [version=6.0.4.7]
10
+
11
+ Updates the bundled gem (e.g. rails) version to e.g. 6.0.4.7
12
+ and provides instructions for committing changes.
13
+ It will attempt to modify a hardcoded version in the Gemfile if necessary.
14
+ USAGE
15
+ task(:update) do
16
+ unless %w[git git-svn].include?(repository_type)
17
+ warn 'Error: Requires a git working copy. Aborting.'
18
+ exit 1
19
+ end
20
+
21
+ gem = ENV['gem']
22
+ if gem.blank? || gem !~ /\A[a-zA-Z0-9_.-]+\z/
23
+ warn "Error: missing or invalid required 'gem' parameter. Aborting.\n\n"
24
+ system('rake -D bundle:update')
25
+ exit 1
26
+ end
27
+
28
+ gem_list = Bundler.with_unbundled_env { `bundle exec gem list ^#{gem}$` }
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
31
+ unless old_gem_version
32
+ warn <<~MSG.chomp
33
+ Cannot determine gem version for gem=#{gem}. Aborting. Output from bundle exec gem list:
34
+ #{gem_list}
35
+ MSG
36
+ exit 1
37
+ end
38
+ puts "Old #{gem} version from bundle: #{old_gem_version}"
39
+
40
+ new_gem_version = ENV['version'].presence
41
+ if new_gem_version && new_gem_version !~ /\A[0-9.a-zA-Z-]+\z/
42
+ warn "Error: invalid 'version' parameter. Aborting.\n\n"
43
+ system('rake -D bundle:update')
44
+ exit 1
45
+ end
46
+
47
+ unless Bundler.with_unbundled_env { system('bundle check 2> /dev/null') }
48
+ warn('Error: bundle check fails before doing anything.')
49
+ warn('Please clean up the Gemfile before running this. Aborting.')
50
+ exit 1
51
+ end
52
+
53
+ if gem == 'rails'
54
+ # If updating Rails and using activemodel-caution, prompt to put
55
+ # activemodel-caution gem in place, unless it's already installed for this rails version.
56
+ activemodel_caution = Bundler.
57
+ with_unbundled_env { `bundle exec gem list activemodel-caution` }.
58
+ match?(/^activemodel-caution \([0-9.]+\)$/)
59
+ if activemodel_caution && new_gem_version
60
+ file_pattern = "activemodel-caution-#{new_gem_version}*.gem"
61
+ unless Dir.glob("vendor/cache/#{file_pattern}").any? ||
62
+ Bundler.with_unbundled_env do
63
+ `gem list ^activemodel-caution$ -i -v #{new_gem_version}`
64
+ end.match?(/^true$/)
65
+ warn("Error: missing #{file_pattern} file in vendor/cache")
66
+ warn('Copy this file to vendor/cache, then run this command again.')
67
+ exit 1
68
+ end
69
+ end
70
+ end
71
+
72
+ related_gems = if gem == 'rails'
73
+ gem_list2 = Bundler.with_unbundled_env do
74
+ `bundle exec gem list`
75
+ end
76
+ gem_list2.split("\n").
77
+ grep(/[ (]#{old_gem_version}(.0)*[,)]/).
78
+ collect { |row| row.split.first }
79
+ else
80
+ [gem]
81
+ end
82
+ puts "Gems to update: #{related_gems.join(' ')}"
83
+
84
+ if new_gem_version
85
+ puts 'Tweaking Gemfile for new gem version'
86
+ cmd = ['sed', '-i', '.bak', '-E']
87
+ related_gems.each do |rgem|
88
+ cmd += ['-e', "s/(gem '(#{rgem})', '(~> )?)#{old_gem_version}(')/\\1#{new_gem_version}\\4/"]
89
+ end
90
+ cmd += %w[Gemfile]
91
+ system(*cmd)
92
+ File.delete('Gemfile.bak')
93
+
94
+ system('git diff Gemfile')
95
+ end
96
+
97
+ cmd = "bundle update --conservative --minor #{related_gems.join(' ')}"
98
+ puts "Running: #{cmd}"
99
+ Bundler.with_unbundled_env do
100
+ system(cmd)
101
+ end
102
+
103
+ unless Bundler.with_unbundled_env { system('bundle check 2> /dev/null') }
104
+ warn <<~MSG
105
+ Error: bundle check fails after trying to update Rails version. Aborting.
106
+ You will need to check your working copy, especially Gemfile, Gemfile.lock, vendor/cache
107
+ MSG
108
+ exit 1
109
+ end
110
+
111
+ if File.exist?(SAFETY_FILE)
112
+ # Remove references to unused files in code_safety.yml
113
+ system('rake audit:tidy_code_safety_file')
114
+ end
115
+
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
118
+
119
+ if new_gem_version && new_gem_version != new_gem_version2
120
+ puts <<~MSG
121
+ Error: Tried to update gem #{gem} to version #{new_gem_version} but ended up at version #{new_gem_version2}. Aborting.
122
+ You will need to check your working copy, especially Gemfile, Gemfile.lock, vendor/cache
123
+ Try running:
124
+ bundle exec rake bundle:update gem=#{gem} version=#{new_gem_version2}
125
+ MSG
126
+ exit 1
127
+ end
128
+
129
+ # At this point, we have successfully updated all the local files.
130
+ # All that remains is to set up a branch, if necessary, and inform the user what to commit.
131
+
132
+ puts "Looking for changed files using git status\n\n"
133
+ files_to_git_rm = `git status vendor/cache/|grep 'deleted: ' | \
134
+ grep -o ': .*' | sed -e 's/^: *//'`.split("\n")
135
+ files_to_git_add = `git status Gemfile Gemfile.lock code_safety.yml|grep 'modified: ' | \
136
+ grep -o ': .*' | sed -e 's/^: *//'`.split("\n")
137
+ files_to_git_add += `git status vendor/cache|expand|grep '^\s*vendor/cache' | \
138
+ sed -e 's/^ *//'`.split("\n")
139
+
140
+ if files_to_git_rm.empty? && files_to_git_add.empty?
141
+ puts <<~MSG
142
+ No changes were made. Please manually update the Gemfile, run
143
+ bundle update --conservative --minor #{related_gems.join(' ')}
144
+ MSG
145
+ puts ' rake audit:tidy_code_safety_file' if File.exist?(SAFETY_FILE)
146
+ puts <<~MSG
147
+ then run tests and git rm / git add any changes
148
+ including vendor/cache Gemfile Gemfile.lock code_safety.yml
149
+ then git commit
150
+ MSG
151
+ exit
152
+ end
153
+
154
+ if repository_type == 'git'
155
+ # Check out a fresh branch, if a git working copy (but not git-svn)
156
+ branch_name = "#{gem}_#{new_gem_version2.gsub('.', '_')}"
157
+ system('git', 'checkout', '-b', branch_name) # Create a new git branch
158
+ end
159
+
160
+ puts <<~MSG
161
+ Gemfile updated. Please use "git status" and "git diff" to check the local changes,
162
+ manually add any additional platform-specific gems required (e.g. for nokogiri),
163
+ re-run tests locally, then run the following to commit the changes:
164
+
165
+ $ git rm #{files_to_git_rm.join(' ')}
166
+ $ git add #{files_to_git_add.join(' ')}
167
+ $ git commit -m '# Bump #{gem} to #{new_gem_version2}'
168
+ MSG
169
+ end
170
+ end
@@ -30,8 +30,12 @@ def update_safety_file(file_safety)
30
30
  File.open(SAFETY_FILE, 'w') do |file|
31
31
  # Consistent file diffs, as ruby preserves Hash insertion order since v1.9
32
32
  list = {}
33
- list['file safety'] = Hash[file_safety.sort]
34
- YAML.dump(list, file) # Save changes before checking latest revisions
33
+ list['file safety'] = file_safety.sort.to_h
34
+ # Remove inconsistent whitespace which old libyaml version introduces at the ends of lines
35
+ # https://github.com/yaml/libyaml/issues/46
36
+ yaml = YAML.dump(list).gsub(/^( *[a-z_]*:) $/, '\1')
37
+ yaml = YAML.dump(list) unless YAML.safe_load(yaml) == list
38
+ file << yaml # Save changes before checking latest revisions
35
39
  end
36
40
  end
37
41
 
@@ -42,7 +42,7 @@ Gem::Specification.new do |spec|
42
42
  spec.add_dependency 'webdrivers', '>= 3.9'
43
43
 
44
44
  # CI server dependencies:
45
- spec.add_dependency 'activesupport', '< 7'
45
+ spec.add_dependency 'activesupport', '< 7.1'
46
46
  spec.add_dependency 'brakeman', '>= 4.7.1'
47
47
  spec.add_dependency 'bundler-audit'
48
48
  spec.add_dependency 'github-linguist'
@@ -56,5 +56,5 @@ Gem::Specification.new do |spec|
56
56
 
57
57
  spec.add_development_dependency 'bundler'
58
58
  spec.add_development_dependency 'mocha'
59
- spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.3'
59
+ spec.add_development_dependency 'rake', '>= 12.3.3'
60
60
  end
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.0
4
+ version: 6.0.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: 2021-02-25 00:00:00.000000000 Z
11
+ date: 2022-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -226,14 +226,14 @@ dependencies:
226
226
  requirements:
227
227
  - - "<"
228
228
  - !ruby/object:Gem::Version
229
- version: '7'
229
+ version: '7.1'
230
230
  type: :runtime
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
234
  - - "<"
235
235
  - !ruby/object:Gem::Version
236
- version: '7'
236
+ version: '7.1'
237
237
  - !ruby/object:Gem::Dependency
238
238
  name: brakeman
239
239
  requirement: !ruby/object:Gem::Requirement
@@ -378,9 +378,6 @@ dependencies:
378
378
  name: rake
379
379
  requirement: !ruby/object:Gem::Requirement
380
380
  requirements:
381
- - - "~>"
382
- - !ruby/object:Gem::Version
383
- version: '12.3'
384
381
  - - ">="
385
382
  - !ruby/object:Gem::Version
386
383
  version: 12.3.3
@@ -388,9 +385,6 @@ dependencies:
388
385
  prerelease: false
389
386
  version_requirements: !ruby/object:Gem::Requirement
390
387
  requirements:
391
- - - "~>"
392
- - !ruby/object:Gem::Version
393
- version: '12.3'
394
388
  - - ">="
395
389
  - !ruby/object:Gem::Version
396
390
  version: 12.3.3
@@ -416,6 +410,7 @@ files:
416
410
  - gemfiles/Gemfile.rails52
417
411
  - gemfiles/Gemfile.rails60
418
412
  - gemfiles/Gemfile.rails61
413
+ - gemfiles/Gemfile.rails70
419
414
  - lib/minitest/rake_ci.rb
420
415
  - lib/minitest/rake_ci_plugin.rb
421
416
  - lib/ndr_dev_support.rb
@@ -455,6 +450,7 @@ files:
455
450
  - lib/ndr_dev_support/slack_message_publisher.rb
456
451
  - lib/ndr_dev_support/tasks.rb
457
452
  - lib/ndr_dev_support/version.rb
453
+ - lib/tasks/audit_bundle.rake
458
454
  - lib/tasks/audit_code.rake
459
455
  - lib/tasks/ci/brakeman.rake
460
456
  - lib/tasks/ci/bundle_audit.rake
@@ -492,7 +488,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
492
488
  - !ruby/object:Gem::Version
493
489
  version: '0'
494
490
  requirements: []
495
- rubygems_version: 3.0.3
491
+ rubygems_version: 3.1.6
496
492
  signing_key:
497
493
  specification_version: 4
498
494
  summary: NDR Developer Support library