chore(workflows): Consolidate Vale linting into Reviewdog workflow (#67620)
## What Consolidates the Vale linting job from PR #65973 into the existing Reviewdog workflow. This adds Vale as a second documentation linting job alongside MarkdownLint, both using the same reviewdog reporter for consistency. Related to #65973 ## How **Workflow Changes** (`.github/workflows/reviewdog.yml`): - Updated workflow comments to reflect that both MarkdownLint and Vale run on docs - Added a new `vale` job that runs after the `markdownlint` job - Configured Vale to use `github-pr-review` reporter (matching MarkdownLint's configuration) - Uses `filter_mode: added` to only lint newly added content - Uses `fail_on_error: false` to keep Vale checks non-blocking **Vale Configuration Changes** (`docusaurus/vale.ini`): - Changed `MinAlertLevel` from `suggestion` to `warning` - This scopes Vale to only report warnings and errors, excluding suggestions ## Review guide 1. **`.github/workflows/reviewdog.yml`** - Review the Vale job configuration: - Verify the `errata-ai/vale-action` parameters are correct - Confirm `github-pr-review` is the appropriate reporter (changed from `github-pr-check` in the original PR #65973) - Check that `filter_mode: added` and `fail_on_error: false` are the desired settings 2. **`docusaurus/vale.ini`** - Review the MinAlertLevel change: - Confirm `MinAlertLevel = warning` is the desired behavior (excludes suggestions, only shows warnings and errors) - Note: The `airbyte.punctuation = NO` rule was already removed in master, so no changes needed there ## User Impact **Positive:** - Documentation PRs will now receive automated Vale linting feedback alongside MarkdownLint - Both linters use the same reporter type for consistent PR annotations - Vale will only flag warnings and errors, reducing noise from suggestions **Neutral:** - This supersedes the separate Vale workflow from PR #65973, which can be closed once this is merged - No impact to existing MarkdownLint checks ## Can this PR be safely reverted and rolled back? - [x] YES 💚 This only adds a new linting job to the Reviewdog workflow. Reverting would simply remove the Vale checks without affecting the existing MarkdownLint job or any other workflows. --- **Session Details:** - Requested by: Ian Alton (ian.alton@airbyte.io) - Link to Devin run: https://app.devin.ai/sessions/7993d1cba2464b48bbababe88bda0671 --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: ian.alton@airbyte.io <ian.alton@airbyte.io>
This commit is contained in:
committed by
GitHub
parent
0f6a500868
commit
27ed20403e
19
.github/workflows/reviewdog.yml
vendored
19
.github/workflows/reviewdog.yml
vendored
@@ -1,6 +1,6 @@
|
||||
# This workflow runs reviewdog on pull requests.
|
||||
# Currently reviewdog is only used to run MarkDownLint on docs
|
||||
# Info: https://docs.airbyte.com/platform/next/contributing-to-airbyte/writing-docs#lint-with-markdownlint.
|
||||
# Currently reviewdog is only used to run MarkDownLint and Vale on docs
|
||||
# Info: https://docs.airbyte.com/platform/next/contributing-to-airbyte/writing-docs
|
||||
# However, this can be expanded later to include all changes in Airbyte
|
||||
name: Reviewdog
|
||||
|
||||
@@ -23,3 +23,18 @@ jobs:
|
||||
reporter: github-pr-review # Post as annotations on the Changed Files page
|
||||
level: warning # Don't show info, just warnings and errors
|
||||
filter_mode: added # Only check newly added content
|
||||
|
||||
vale:
|
||||
name: Docs / Vale
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # V5
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: errata-ai/vale-action@d89dee975228ae261d22c15adcd03578634d429c # Pinned to V2.1.1
|
||||
with:
|
||||
vale_flags: --config=docusaurus/vale.ini --minAlertLevel=warning # Location of Vale's config file and min alert level for CI (local linters will still see suggestions)
|
||||
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
|
||||
|
||||
@@ -341,9 +341,20 @@ AI tools like ChatGPT and GitHub Copilot are good at describing code. For open s
|
||||
The documentation runs two linters, Vale and MarkDownLint. Vale lints for style, writing, and grammar. MarkDownLint lints for MarkDown structure. For example, Vale tells you when you use passive language and MarkDownLint tells you that you've skipped a heading level. Together, these linters provide broad protection against most common readability, accessibility, and rendering problems.
|
||||
|
||||
:::note
|
||||
Vale and MarkDownLint are newly implemented. They might still generate false positives or false negatives. Currently, MarkDownLint is the only one of the two that runs on pull requests, and compliance isn't mandatory. This may change in the future. For now, just do your best to comply with the linters' recommendations as you see them.
|
||||
Vale and MarkDownLint are newly implemented. They might still generate false positives or false negatives. For now, just do your best to comply with the linters' recommendations as you see them.
|
||||
:::
|
||||
|
||||
### Linters in CI
|
||||
|
||||
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
|
||||
- Does not fail the build (compliance is optional but recommended)
|
||||
|
||||
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
|
||||
|
||||
Airbyte uses Vale to promote standardization and minimum quality for docs content. Vale is an open source command-line tool that brings code-like linting to prose. It's not a general-purpose writing aid or an AI. It simply automates the identification of non-compliance with the style guide, principles for good writing, and other rules Airbyte defines as needed.
|
||||
|
||||
@@ -300,9 +300,20 @@ AI tools like ChatGPT and GitHub Copilot are good at describing code. For open s
|
||||
The documentation runs two linters, Vale and MarkDownLint. Vale lints for style, writing, and grammar. MarkDownLint lints for MarkDown structure. For example, Vale tells you when you use passive language and MarkDownLint tells you that you've skipped a heading level. Together, these linters provide broad protection against most common readability, accessibility, and rendering problems.
|
||||
|
||||
:::note
|
||||
Vale and MarkDownLint are newly implemented. They might still generate false positives or false negatives. Currently, Airbyte doesn't enforce them on pull requests. This might happen in the future. For now, just do your best to comply with the linters' recommendations.
|
||||
Vale and MarkDownLint are newly implemented. They might still generate false positives or false negatives. For now, just do your best to comply with the linters' recommendations.
|
||||
:::
|
||||
|
||||
### Linters in CI
|
||||
|
||||
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
|
||||
- Does not fail the build (compliance is optional but recommended)
|
||||
|
||||
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
|
||||
|
||||
Airbyte uses Vale to promote standardization and minimum quality for docs content. Vale is an open source command-line tool that brings code-like linting to prose. It's not a general-purpose writing aid or an AI. It simply automates the identification of non-compliance with the style guide, principles for good writing, and other rules Airbyte defines as needed.
|
||||
|
||||
@@ -331,9 +331,20 @@ AI tools like ChatGPT and GitHub Copilot are good at describing code. For open s
|
||||
The documentation runs two linters, Vale and MarkDownLint. Vale lints for style, writing, and grammar. MarkDownLint lints for MarkDown structure. For example, Vale tells you when you use passive language and MarkDownLint tells you that you've skipped a heading level. Together, these linters provide broad protection against most common readability, accessibility, and rendering problems.
|
||||
|
||||
:::note
|
||||
Vale and MarkDownLint are newly implemented. They might still generate false positives or false negatives. Currently, Airbyte doesn't enforce them on pull requests. This might happen in the future. For now, just do your best to comply with the linters' recommendations.
|
||||
Vale and MarkDownLint are newly implemented. They might still generate false positives or false negatives. For now, just do your best to comply with the linters' recommendations.
|
||||
:::
|
||||
|
||||
### Linters in CI
|
||||
|
||||
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
|
||||
- Does not fail the build (compliance is optional but recommended)
|
||||
|
||||
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
|
||||
|
||||
Airbyte uses Vale to promote standardization and minimum quality for docs content. Vale is an open source command-line tool that brings code-like linting to prose. It's not a general-purpose writing aid or an AI. It simply automates the identification of non-compliance with the style guide, principles for good writing, and other rules Airbyte defines as needed.
|
||||
|
||||
@@ -341,9 +341,20 @@ AI tools like ChatGPT and GitHub Copilot are good at describing code. For open s
|
||||
The documentation runs two linters, Vale and MarkDownLint. Vale lints for style, writing, and grammar. MarkDownLint lints for MarkDown structure. For example, Vale tells you when you use passive language and MarkDownLint tells you that you've skipped a heading level. Together, these linters provide broad protection against most common readability, accessibility, and rendering problems.
|
||||
|
||||
:::note
|
||||
Vale and MarkDownLint are newly implemented. They might still generate false positives or false negatives. Currently, Airbyte doesn't enforce them on pull requests. This might happen in the future. For now, just do your best to comply with the linters' recommendations.
|
||||
Vale and MarkDownLint are newly implemented. They might still generate false positives or false negatives. For now, just do your best to comply with the linters' recommendations.
|
||||
:::
|
||||
|
||||
### Linters in CI
|
||||
|
||||
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
|
||||
- Does not fail the build (compliance is optional but recommended)
|
||||
|
||||
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
|
||||
|
||||
Airbyte uses Vale to promote standardization and minimum quality for docs content. Vale is an open source command-line tool that brings code-like linting to prose. It's not a general-purpose writing aid or an AI. It simply automates the identification of non-compliance with the style guide, principles for good writing, and other rules Airbyte defines as needed.
|
||||
|
||||
Reference in New Issue
Block a user