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) • rossfuhrman • 17.2 -
JavaScript linting - model change after example in the docs; Draft: Configure eslint job to output Code Qual... (!121942) -
Golang linting - the /workhorse
directory 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