Dogfood bring-your-own Code Quality for gitlab-org/gitlab
In support of New direction for Code Quality scanning , we can start dogfooding the bring-your-own tool for gitlab-org/gitlab by integrating some, if not all, of our linters with our Code Quality feature.
An incomplete list of linters we could move over:
-
docs linting (already done) -
Ruby linting - in progress Draft: Use rubocop directly for Code Quality (!118690 - closed) • Unassigned • 17.3 -
JavaScript linting - model change after example in the docs; Draft: Configure eslint job to output Code Qual... (!121942 - closed) -
Golang linting - the /workhorsedirectory contains Go, consider similar approach as Dogfood bring-your-own Code Quality for Secure ... (#385109 - closed)
In the first iterations of implementing custom versions of tools that were being covered by Code Climate via the vendored template (for Ruby, JavaScript, and Go), we will implement separate jobs to avoid collision with existing jobs. For example, instead of adding on to the existing rubocop job, we will implement a rubocop_code_quality job. We will likely combine the rubocop and rubocop_code_quality jobs in the future.
Implementing these replacements will allow us to stop using the vendored Code Quality template internally.
We can follow the docs at https://docs.gitlab.com/ee/ci/testing/code_quality.html#implement-a-custom-tool and make updates as necessary.
-
Updates to the docs should be made to include an example - Updates related to multiple Code Quality reports (!121074 - merged) -
Verify the list of properties that we support and update if necessary