Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .github/workflows/docs-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,7 @@ jobs:

# Summary report
summary:
needs: [setup, changes, vale-lint, editorial-review-skill, consolidated-review]
needs: [setup, changes, editorial-review-skill, consolidated-review]
if: always() && needs.changes.outputs.docs == 'true'
runs-on: ubuntu-latest
steps:
Expand All @@ -482,7 +482,6 @@ jobs:
with:
script: |
const jobs = [
{ name: 'Terminology (Vale)', status: '${{ needs.vale-lint.result }}' },
{ name: 'Editorial Review (AI)', status: '${{ needs.editorial-review-skill.result }}' },
{ name: 'Consolidated Review', status: '${{ needs.consolidated-review.result }}' }
];
Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/vale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Vale

# Vale runs on every PR push (cheap, fast, deterministic). Editorial review
# orchestration lives in docs-review.yml and is triggered on demand via
# `/editorial-review`; those two flows are independent.

on:
pull_request:
paths:
- 'platform-enterprise_docs/**/*.md'
- 'platform-enterprise_docs/**/*.mdx'
- 'platform-cloud/docs/**/*.md'
- 'platform-cloud/docs/**/*.mdx'
- '.github/styles/**'
- '.vale.ini'
workflow_dispatch:

permissions:
contents: read
pull-requests: write

jobs:
vale:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # ratchet:actions/checkout@v6.0.2

- name: Vale Terminology Check
uses: errata-ai/vale-action@85f9f7f2c5f449ac0ae5b66662961bae3f77ca6a # v2.1.2
with:
# platform-enterprise_versioned_docs intentionally excluded — frozen
# release snapshots; Vale findings there are noise.
files: |
platform-enterprise_docs
platform-cloud/docs
reporter: github-pr-review
# Substitution rules in .github/styles/Seqera/*.yml are level: error.
# Block the check so the declared severity actually means something.
fail_on_error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
43 changes: 8 additions & 35 deletions .vale.ini
Original file line number Diff line number Diff line change
@@ -1,47 +1,20 @@
# Vale configuration for Seqera documentation
# Minimal setup - only catches terminology issues you care about
# Minimal setup — only catches Seqera-specific terminology issues.
#
# Styles are vendored under .github/styles/Seqera/. CI installs Vale via
# errata-ai/vale-action; no package hub fetch is needed.

StylesPath = .github/styles

# Download packages from Vale package hub
Packages = write-good

# Only check markdown files
[*.md]
BasedOnStyles = Seqera, write-good
[*.{md,mdx}]
BasedOnStyles = Seqera

# Make context-dependent rules warnings (not blockers)
Seqera.Features.CE = warning # CE might match unrelated terms
Seqera.Features.Workspace = warning # Workspace capitalization is context-dependent
Seqera.Features.PAT = warning # PAT expansion depends on first use
Seqera.Products.Tower = warning # Tower is OK in legacy contexts

# Disable noisy write-good rules
write-good.Weasel = NO # "very", "really" sometimes needed
write-good.ThereIs = NO # "There is" is fine in technical docs
write-good.So = NO # "So" is fine for transitions
write-good.Passive = suggestion # Passive voice is OK sometimes

# Also check MDX files
[*.mdx]
BasedOnStyles = Seqera, write-good

# Same overrides for MDX
Seqera.Features.CE = warning
Seqera.Features.Workspace = warning
Seqera.Features.PAT = warning
Seqera.Products.Tower = warning
write-good.Weasel = NO
write-good.ThereIs = NO
write-good.So = NO
write-good.Passive = suggestion

# Ignore code blocks entirely
BlockIgnores = (?s) *(`{3}.*?`{3})
# Ignore code fences, inline code, and frontmatter
BlockIgnores = (?s) *(`{3}.*?`{3}), (?s)^---.*?---
TokenIgnores = (`[^`]+`)

# Ignore frontmatter
BlockIgnores = (?s)^---.*?---

# Paths to check (relative patterns)
# Vale will check files matching these when run
Loading