Improve Vale's CIConfigFile rule to catch previous false negatives
What does this MR do?
Closes #408412 (closed). This MR improves Vale's CIConfigFile
rule to catch previous false negatives
Sample file to lint
Command
vale --minAlertLevel=error doc
Script
# Generate test file, line 93 is the correct one
truncate -s 0 CIConfigFile.md
for prefix in {'',',',.,-}; do
for infix in {'',',',.,-}; do
for suffix in {'',',',.,-}; do
for extension in yml yaml; do
echo "\`${prefix}gitlab${infix}ci${suffix}${extension}\`" >> CIConfigFile.md
done
done
done
done
Generated
`gitlabciyml`
`gitlabciyaml`
`gitlabci,yml`
`gitlabci,yaml`
`gitlabci.yml`
`gitlabci.yaml`
`gitlabci-yml`
`gitlabci-yaml`
`gitlab,ciyml`
`gitlab,ciyaml`
`gitlab,ci,yml`
`gitlab,ci,yaml`
`gitlab,ci.yml`
`gitlab,ci.yaml`
`gitlab,ci-yml`
`gitlab,ci-yaml`
`gitlab.ciyml`
`gitlab.ciyaml`
`gitlab.ci,yml`
`gitlab.ci,yaml`
`gitlab.ci.yml`
`gitlab.ci.yaml`
`gitlab.ci-yml`
`gitlab.ci-yaml`
`gitlab-ciyml`
`gitlab-ciyaml`
`gitlab-ci,yml`
`gitlab-ci,yaml`
`gitlab-ci.yml`
`gitlab-ci.yaml`
`gitlab-ci-yml`
`gitlab-ci-yaml`
`,gitlabciyml`
`,gitlabciyaml`
`,gitlabci,yml`
`,gitlabci,yaml`
`,gitlabci.yml`
`,gitlabci.yaml`
`,gitlabci-yml`
`,gitlabci-yaml`
`,gitlab,ciyml`
`,gitlab,ciyaml`
`,gitlab,ci,yml`
`,gitlab,ci,yaml`
`,gitlab,ci.yml`
`,gitlab,ci.yaml`
`,gitlab,ci-yml`
`,gitlab,ci-yaml`
`,gitlab.ciyml`
`,gitlab.ciyaml`
`,gitlab.ci,yml`
`,gitlab.ci,yaml`
`,gitlab.ci.yml`
`,gitlab.ci.yaml`
`,gitlab.ci-yml`
`,gitlab.ci-yaml`
`,gitlab-ciyml`
`,gitlab-ciyaml`
`,gitlab-ci,yml`
`,gitlab-ci,yaml`
`,gitlab-ci.yml`
`,gitlab-ci.yaml`
`,gitlab-ci-yml`
`,gitlab-ci-yaml`
`.gitlabciyml`
`.gitlabciyaml`
`.gitlabci,yml`
`.gitlabci,yaml`
`.gitlabci.yml`
`.gitlabci.yaml`
`.gitlabci-yml`
`.gitlabci-yaml`
`.gitlab,ciyml`
`.gitlab,ciyaml`
`.gitlab,ci,yml`
`.gitlab,ci,yaml`
`.gitlab,ci.yml`
`.gitlab,ci.yaml`
`.gitlab,ci-yml`
`.gitlab,ci-yaml`
`.gitlab.ciyml`
`.gitlab.ciyaml`
`.gitlab.ci,yml`
`.gitlab.ci,yaml`
`.gitlab.ci.yml`
`.gitlab.ci.yaml`
`.gitlab.ci-yml`
`.gitlab.ci-yaml`
`.gitlab-ciyml`
`.gitlab-ciyaml`
`.gitlab-ci,yml`
`.gitlab-ci,yaml`
`.gitlab-ci.yml`
`.gitlab-ci.yaml`
`.gitlab-ci-yml`
`.gitlab-ci-yaml`
`-gitlabciyml`
`-gitlabciyaml`
`-gitlabci,yml`
`-gitlabci,yaml`
`-gitlabci.yml`
`-gitlabci.yaml`
`-gitlabci-yml`
`-gitlabci-yaml`
`-gitlab,ciyml`
`-gitlab,ciyaml`
`-gitlab,ci,yml`
`-gitlab,ci,yaml`
`-gitlab,ci.yml`
`-gitlab,ci.yaml`
`-gitlab,ci-yml`
`-gitlab,ci-yaml`
`-gitlab.ciyml`
`-gitlab.ciyaml`
`-gitlab.ci,yml`
`-gitlab.ci,yaml`
`-gitlab.ci.yml`
`-gitlab.ci.yaml`
`-gitlab.ci-yml`
`-gitlab.ci-yaml`
`-gitlab-ciyml`
`-gitlab-ciyaml`
`-gitlab-ci,yml`
`-gitlab-ci,yaml`
`-gitlab-ci.yml`
`-gitlab-ci.yaml`
`-gitlab-ci-yml`
`-gitlab-ci-yaml`
There are 30 matches with original Vale rule, and 127 matches with new rule. Rather than checking for common mistakes, the new rule matches .gitlab-ci.yml
pattern and excludes the correct one.
Author's checklist
-
Optional. Consider taking the GitLab Technical Writing Fundamentals course. -
Follow the: -
If you're adding or changing the main heading of the page (H1), ensure that the product tier badge is added. -
If you are a GitLab team member, request a review based on: - The documentation page's metadata.
- The associated Technical Writer.
If you are a GitLab team member and only adding documentation, do not add any of the following labels:
~"frontend"
~"backend"
~"type::bug"
~"database"
These labels cause the MR to be added to code verification QA issues.
Reviewer's checklist
Documentation-related MRs should be reviewed by a Technical Writer for a non-blocking review, based on Documentation Guidelines and the Style Guide.
If you aren't sure which tech writer to ask, use roulette or ask in the #docs Slack channel.
-
If the content requires it, ensure the information is reviewed by a subject matter expert. - Technical writer review items:
-
Ensure docs metadata is present and up-to-date. -
Ensure the appropriate labels are added to this MR. -
Ensure a release milestone is set. - If relevant to this MR, ensure content topic type principles are in use, including:
-
The headings should be something you'd do a Google search for. Instead of Default behavior
, say something likeDefault behavior when you close an issue
. -
The headings (other than the page title) should be active. Instead of Configuring GDK
, say something likeConfigure GDK
. -
Any task steps should be written as a numbered list. - If the content still needs to be edited for topic types, you can create a follow-up issue with the docs-technical-debt label.
-
-
-
Review by assigned maintainer, who can always request/require the reviews above. Maintainer's review can occur before or after a technical writer review.