Commit Graph

18 Commits

Author SHA1 Message Date
Cody Cutrer a6122225be Revert "Revert "RuboCop: update to 1.22.0""
This reverts commit eb44849fd6.

Reason for revert: apt repo is no longer broken

Change-Id: I9224768d117e1b1a030f881ec03e0295afcb73d9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274305
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-10-01 17:39:09 +00:00
Aaron Ogata eb44849fd6 Revert "RuboCop: update to 1.22.0"
This reverts commit 3fdd418bc0.

Reason for revert: Jenkins broke

Change-Id: I981c14d5db293289c40576bd425c25d1933c1935
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274304
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2021-09-30 14:57:30 +00:00
Cody Cutrer 3fdd418bc0 RuboCop: update to 1.22.0
* Layout/DotPosition now handles heredocs (auto-correct, including
   cascading layout fixes)
 * Lint/AssignmentInCondition now ignores assignments-in-blocks-in
   conditions, so can remove explicit disabling

Change-Id: I476c0d54cf6d38fc3b009d7057f7e6082465240d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274756
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-09-30 13:38:20 +00:00
Jeremy Stanley c44d7e8eda update Gemfile.d/rubocop.rb.lock
Change-Id: Ia03030369879b11a43ee5e73c392d2b3dcf34178
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274700
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-09-29 19:07:36 +00:00
Cody Cutrer 90f699e1c1 rubocop: lock rubocop-ast gem as well
Change-Id: I0c6bc30de119ae89d337a681df08ec22cdcf577d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274623
Reviewed-by: August Thornton <august@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-09-28 14:46:03 +00:00
Cody Cutrer 223aedadff rubocop: update to 1.21
[skip-stages=Flakey]

new cop autocorrected: Layout/LineEndStringConcatenationIndentation

Change-Id: Ib59a7fadeb2d9af68d90eb82b9ac855dead29121
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274524
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-09-28 02:40:46 +00:00
Xander Moffatt 5ad7db61bf add more rubocop platforms
* macos mojave
* macos catalina
* docker linux

Change-Id: I80197b919ffe8c0f1ae5c903509ad41d2cb06063
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274542
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-09-27 18:47:39 +00:00
Cody Cutrer b68d11de70 rubocop: go back to a single .rubocop.yml
it was just too confusing on which one an editor is using, double comments
in jenkins, etc.

this is accomplished by several things:
 * required cops are just marked as severe, instead of using a separate
   config for them, and failing if anything shows up from that config
 * get rid of all the logic to only include certain directories for
   certain cops. turns out it's not _that_ ominous to correct errors
   across the entire repository before marking a cop as required.
 * but still auto-generate config to turn _off_ autocorrect for
   non-severe cops. this is important because auto-correct must run
   for entire files, and we don't want it auto-correcting optional
   things that you didn't touch.
 * update gergich to get more details from the parsed comments.
   this plus the prior point means we _don't_ have to have heavy mode when
   in autocorrecting, but we still display out-of-context lines that were
   autocorrected

this also makes it so we can use per-dir .rubocop.yml files again, so
take some of the exceptions out of the root and put them in their own
directory

Change-Id: Ie936d1a9920b68910acd250ba817c7b4a670b958
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274394
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-09-27 17:21:02 +00:00
Cody Cutrer 9f38d9fd9b RuboCop: bump rubocop-rspec to latest
Change-Id: Ibeb4dbf02c64cb9d9bad2814605d99197daafe38
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274255
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-09-23 21:11:07 +00:00
Cody Cutrer e9d63396ff rubocop: split configuration
* remove spurious .rubocop.yml override files
 * split the configuration into an enforced and optional
 * run both configurations in jenkins (may result in some duplicate
   comments at different levels)
 * auto-correct the enforced configuration in the pre-commit hook
 * fix comments for Gemfile.d and the root dir; enforced configuration
   is only applied to that directory for now

Change-Id: I8da21073d74e19138b1b580d66c7aae6465348d4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273898
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-09-21 16:02:22 +00:00
Cody Cutrer 7df9ff5fdf lock unicode-display_width gem to specific version
Change-Id: I065964219f8cd0642d56094c0dbabff66f42589c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273722
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-09-16 20:26:08 +00:00
Cody Cutrer a4cfe29325 update outrigger to 3.0
and remove now-unneccessary uses of db:migrate:predeploy, since
db:migrate will implicitly run predeploys first

Change-Id: I4de20c5a24c8d9125e698b9a650eb7a592b258ff
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273291
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-09-10 19:55:07 +00:00
Cody Cutrer 25926b1f0d lock mime-types-data to a specific version
so that it's consistent between rubocop lockfile and main gemfile

Change-Id: I5be48a236f09a084d181b1e990c396541fcaf3e0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273157
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-09-08 19:38:55 +00:00
Cody Cutrer 844d8843a1 bump rubocop-rspec in lockfile
Change-Id: I1190300c738a5f597bea119afaf00242876ecec5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272918
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-09-08 17:32:52 +00:00
Cody Cutrer 8be5fd34c1 bump rails
Change-Id: I33bc074c7274874d25c1ac3af63c7c6a3e6c9104
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272375
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2021-09-01 16:01:35 +00:00
Cody Cutrer 2872ad665f update gergich
for an optimization, and so that it actually detects if rubocop
didn't run

Change-Id: Ief5fb5fa7d4c465e8b9b8b1e228de1cc1476de2d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272259
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-08-27 13:46:10 +00:00
Cody Cutrer 3cd21381c4 bundle "update" rubocop.rb.lock
to use versions that would have already been installed by the regular
canvas gemfile

Change-Id: I554ee1e63586bf27238b3cf0fc7fb70f1d2fe2c6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272258
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-08-26 20:32:54 +00:00
Cody Cutrer 3587f79b14 separate rubocop gems into a dedicated gemfile fragment
so that we can reference only that fragment from our binstub
(which is de-springified), making it run significantly faster

Change-Id: I4f602e6c4d1feecf74eccd66e610781c76756ffc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/271957
Tested-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2021-08-25 16:24:44 +00:00