diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index 181a61894d6ecf2cc5b45ae0177aee551746055e..1d7c9b049cdf79f234aa35e31b132c3443cb5ae4 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -175,10 +175,8 @@ - ".gitlab/ci/workhorse.gitlab-ci.yml" .yaml-lint-patterns: &yaml-lint-patterns - - ".gitlab-ci.yml" - - ".gitlab/ci/**/*.yml" - - "data/**/*.yml" - - "lib/gitlab/ci/templates/**/*.yml" + - "*.yml" + - "**/*.yml" .docs-patterns: &docs-patterns - ".gitlab/route-map.yml" diff --git a/.gitlab/ci/yaml.gitlab-ci.yml b/.gitlab/ci/yaml.gitlab-ci.yml index ac32e4226e28f66f14c8c68f1e47a453291f1231..a0665d712dc60418821f71cf024a5de1b5a9f363 100644 --- a/.gitlab/ci/yaml.gitlab-ci.yml +++ b/.gitlab/ci/yaml.gitlab-ci.yml @@ -1,6 +1,21 @@ -# Yamllint of CI-related yaml. +# Yamllint of yaml files. + # This uses rules from project root `.yamllint`. lint-yaml: + extends: + - .default-retry + - .yaml-lint:rules + image: pipelinecomponents/yamllint:latest + stage: lint + needs: [] + script: + - yamllint --strict -f colored . + +# The jobs below will not use the configuration present in `.yamllint` (it's because of the -d option) +# +# Docs: https://yamllint.readthedocs.io/en/stable/configuration.html#custom-configuration-without-a-config-file + +lint-pipeline-yaml: extends: - .default-retry - .yaml-lint:rules @@ -10,7 +25,7 @@ lint-yaml: variables: LINT_PATHS: .gitlab-ci.yml .gitlab/ci lib/gitlab/ci/templates data/deprecations data/removals data/whats_new script: - - yamllint --strict -f colored $LINT_PATHS + - 'yamllint -d "{extends: default, rules: {line-length: disable, document-start: disable}}" $LINT_PATHS' lint-metrics-yaml: extends: diff --git a/.yamllint b/.yamllint index df7cdf404bcdc60bee082fd004259a79cbaf8619..2fddf9ee3c46ab19d15851d6c09f92234b7e234c 100644 --- a/.yamllint +++ b/.yamllint @@ -2,6 +2,44 @@ extends: default +# Ideally, we should have nothing in this ignore section. +# +# Please consider removing entries below by fixing them. +ignore: | + #### Files #### + + # Contains ruby code + config/mail_room.yml + generator_templates/snowplow_event_definition/event_definition.yml + generator_templates/usage_metric_definition/metric_definition.yml + + # Has some special indentation + doc/user/project/integrations/samples/cloudwatch.yml + + # Broken on purpose (for testing) + spec/fixtures/lib/gitlab/metrics/dashboard/broken_yml_syntax.yml + + #### Folders #### + node_modules/ + tmp/ + +# Why disabling all of those rules? +# +# For the scope of https://gitlab.com/gitlab-org/gitlab/-/issues/359968, +# we would like to catch syntax errors as soon as possible. +# Style "errors" are not as important right now, but they should ideally be added later on. +# +# Please consider enabling a rule, and fixing the issues you'll see in an MR. rules: - line-length: disable + braces: disable + colons: disable + comments-indentation: disable + comments: disable document-start: disable + empty-lines: disable + indentation: disable + key-duplicates: disable + line-length: disable + new-line-at-end-of-file: disable + trailing-spaces: disable + truthy: disable