Skip to main content

PR Validation

Workflow file: .github/workflows/pr-validation.yml

Triggers​

  • pull_request — branches: ["main"]

Permissions​

  • contents: read

Jobs​

structure-check​

PropertyValue
Display NameStructural Validation
Runs Onubuntu-latest
Steps4

markdownlint​

PropertyValue
Display NameMarkdown Lint
Runs Onubuntu-latest
Steps4

Source​

Click to view full workflow YAML
name: "PR Validation"

on:
pull_request:
branches: [main]

permissions:
contents: read

jobs:
structure-check:
name: "Structural Validation"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
cache: 'npm'
cache-dependency-path: website/package-lock.json

- name: Install dependencies
working-directory: website
run: npm ci

- name: Run structural validation
run: node scripts/validate-structure.js

markdownlint:
name: "Markdown Lint"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '20'

- name: Install markdownlint-cli
run: npm install -g markdownlint-cli@0.41.0

- name: Run markdownlint
run: |
markdownlint '**/*.md' \
--ignore 'website/node_modules/**' \
--ignore 'website/build/**' \
--ignore 'website/docs/**' \
--config .markdownlint.json