ndr_dev_support 6.0.0 → 6.0.3

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: 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