Skip to content

validation: add m3-vscode and m4-governance scrutiny review artifacts #1

validation: add m3-vscode and m4-governance scrutiny review artifacts

validation: add m3-vscode and m4-governance scrutiny review artifacts #1

name: UI.md Validation
on:
push:
branches: [main]
paths:
- '**.md'
- 'tooling/ui-md-linter/**'
- '.github/workflows/ui-md-validation.yml'
pull_request:
paths:
- '**.md'
- 'tooling/ui-md-linter/**'
- '.github/workflows/ui-md-validation.yml'
permissions: read-all
jobs:
lint:
name: Lint UI.md files
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm install
- name: Lint sample files
run: node tooling/ui-md-linter/ui-md-lint.js samples/kanban/UI.md samples/mobile-onboarding/UI.md samples/cli-dashboard/UI.md
test:
name: Run linter test suite
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm install
- name: Run tests
run: node --test tooling/ui-md-linter/ui-md-lint.test.js
link-check:
name: Check for broken links
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install lychee
run: npm install -g lychee
- name: Check links in docs
run: |
lychee --offline \
README.md AGENTS.md CONTRIBUTING.md PRD.md SPEC.md \
tooling/ui-md-linter/README.md