From fd96f6b3a50acaa0f4cd320eecd993102836eaf0 Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 21 Nov 2025 13:54:35 -0800 Subject: [PATCH] chore: change Vale reporter to local and consolidate Vale configuration (#69813) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: ian.alton@airbyte.io --- .github/workflows/reviewdog.yml | 4 +- .../contributing-to-airbyte/writing-docs.md | 7 +-- docusaurus/vale-ci.ini | 49 ------------------- docusaurus/vale.ini | 4 +- 4 files changed, 8 insertions(+), 56 deletions(-) delete mode 100644 docusaurus/vale-ci.ini diff --git a/.github/workflows/reviewdog.yml b/.github/workflows/reviewdog.yml index dc7c9d9d9c5..e7be60193db 100644 --- a/.github/workflows/reviewdog.yml +++ b/.github/workflows/reviewdog.yml @@ -34,8 +34,8 @@ jobs: - uses: errata-ai/vale-action@d89dee975228ae261d22c15adcd03578634d429c # Pinned to V2.1.1 continue-on-error: true # Always pass, even if reviewdog can't post annotations (e.g., fork PRs with read-only tokens) with: - vale_flags: --config=docusaurus/vale-ci.ini --minAlertLevel=warning # CI-specific config that disables certain rules (see vale-ci.ini vs vale.ini) + vale_flags: --config=docusaurus/vale.ini --minAlertLevel=warning # Use vale.ini with minAlertLevel overridden to warning for CI files: docs/ # Folder in which to lint filter_mode: added # Only lint things that have changed fail_on_error: false # Don't fail if the linter finds issues (compliance is optional) - reporter: github-pr-review # Post as annotations on the Changed Files page + reporter: local # Output to job logs only, no PR annotations or comments diff --git a/docs/community/contributing-to-airbyte/writing-docs.md b/docs/community/contributing-to-airbyte/writing-docs.md index 4330d13ee6b..b496c5e2bce 100644 --- a/docs/community/contributing-to-airbyte/writing-docs.md +++ b/docs/community/contributing-to-airbyte/writing-docs.md @@ -348,11 +348,12 @@ Vale and MarkDownLint are newly implemented. They might still generate false pos Both Vale and MarkDownLint run automatically on pull requests through the [Reviewdog workflow](https://github.com/airbytehq/airbyte/blob/master/.github/workflows/reviewdog.yml). When you open or update a pull request that modifies documentation in `docs/**/*.md`, the workflow: -- Runs Vale with a minimum alert level of **warning** (errors and warnings are reported, suggestions are not) -- Runs MarkDownLint to check for structural issues -- Posts any violations as annotations on the "Files Changed" page in your pull request +- Runs Vale with a minimum alert level of **warning** (errors and warnings are reported, suggestions are not). Vale prints violations to the CI job logs only (no PR annotations or comments). +- Runs MarkDownLint to check for structural issues. MarkDownLint posts violations as annotations on the "Files changed" tab in your pull request. - Does not fail the build (compliance is optional but recommended) +To view Vale results in CI: open your PR's Checks tab → select "Docs / Vale" → expand the step that runs Vale to see the log output. + Running the linters locally before opening a pull request is optional but recommended. When you run the linters locally as described in the sections below, you'll see all violation levels including **suggestions**, which provide additional guidance that isn't shown in CI. This gives you the opportunity to improve your documentation beyond the minimum requirements before submitting for review. ### Lint with Vale diff --git a/docusaurus/vale-ci.ini b/docusaurus/vale-ci.ini deleted file mode 100644 index b3ad2bec257..00000000000 --- a/docusaurus/vale-ci.ini +++ /dev/null @@ -1,49 +0,0 @@ -# This file controls Vale's behavior when linting your documentation in GitHub CI. -# For local linting, use vale.ini instead. -# The main difference is that this file disables certain rules that should only run locally. - -# Where styles and rules are located -StylesPath = ../docs/vale-styles - -#Custom vocabulary definition -Vocab = Airbyte - -# Minimum level at which Vale will trigger an alert -MinAlertLevel = suggestion - -# External packages -Packages = Google, write-good, MDX - -# What Vale lints -[*.{md,txt}] - -# What Vale lints with -BasedOnStyles = Vale, Google, write-good, airbyte - -## Ignore some imported style rules because they're too esoteric or overlap with another library -write-good.E-Prime = NO -write-good.Passive = NO -write-good.TooWordy = NO -Vale.Terms = NO - -## Rules disabled for GitHub CI only (these still run locally) -Google.Headings = NO - -## Ignore: -## - Anything in angle brackets that starts with an uppercase letter (IE a React component) -## - Anything in double curly braces (IE a MarkDown variable) -## - Single backticks -## - MarkDown links or images -## - URLS -## - emails -## - URLs without http -## - React component imports -## More info: https://vale.sh/docs/keys/tokenignores -TokenIgnores = (<\/?[A-Z].+>), \{\{([^}]*)\}\}, (\x60[^\n\x60]+\x60), (\[[^\n]+[^\n]*\]\([^\n]+\)), (http[^\n]+), ([^\n]+@[^\n]+\.[^\n]+), (\[[^\n]+?\.(?:com|net|org|gov|ca|co|us|io|info|xyz|ai)\]), (import [^\n]+ from [^\n]+) - -## Exclude certain block-level sections of text that don't have an associated HTML tag that could be used with SkippedScopes. -## More info: https://vale.sh/docs/keys/blockignores -BlockIgnores = (```(\w)[\s\S]*?```)/g - -[formats] -mdx = md diff --git a/docusaurus/vale.ini b/docusaurus/vale.ini index 462c2d315ef..c23547203a1 100644 --- a/docusaurus/vale.ini +++ b/docusaurus/vale.ini @@ -1,5 +1,5 @@ -# This file controls Vale's behavior when linting your documentation locally. -# For GitHub CI linting, see vale-ci.ini which disables certain rules for CI only. +# This configuration is used for both local development and GitHub CI. +# In CI, the workflow passes --minAlertLevel=warning to show warnings and errors only. # Where styles and rules are located StylesPath = ../docs/vale-styles