Skip to content

docs(sdk): Planning & Scoping standard & Managing Linear Project Management Playbook #17566

docs(sdk): Planning & Scoping standard & Managing Linear Project Management Playbook

docs(sdk): Planning & Scoping standard & Managing Linear Project Management Playbook #17566

Workflow file for this run

name: Lint Docs for 404s
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
lint-404:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4
id: setup-node
with:
node-version-file: 'package.json'
cache: 'pnpm'
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
docs:
- 'docs/**'
- 'includes/**'
- 'platform-includes/**'
- 'scripts/lint-404s/**'
dev-docs:
- 'develop-docs/**'
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- uses: actions/cache@v4
with:
path: |
${{ github.workspace }}/.next/cache
key: nextjs-${{ runner.os }}-${{ steps.setup-node.outputs.node-version }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
nextjs-${{ runner.os }}-${{ steps.setup-node.outputs.node-version }}-
- run: pnpm install --frozen-lockfile
- run: pnpm build
if: steps.filter.outputs.docs == 'true'
env:
SENTRY_DSN: https://examplePublicKey@o0.ingest.sentry.io/0
NEXT_PUBLIC_SENTRY_DSN: https://examplePublicKey@o0.ingest.sentry.io/0
- run: pnpm build:developer-docs
if: steps.filter.outputs.dev-docs == 'true'
env:
SENTRY_DSN: https://examplePublicKey@o0.ingest.sentry.io/0
NEXT_PUBLIC_SENTRY_DSN: https://examplePublicKey@o0.ingest.sentry.io/0
- name: Start Http Server
run: pnpm start &
if: steps.filter.outputs.docs == 'true' || steps.filter.outputs.dev-docs == 'true'
env:
SENTRY_DSN: https://examplePublicKey@o0.ingest.sentry.io/0
NEXT_PUBLIC_SENTRY_DSN: https://examplePublicKey@o0.ingest.sentry.io/0
- name: Lint 404s
run: bun ./scripts/lint-404s/main.ts
if: steps.filter.outputs.docs == 'true' || steps.filter.outputs.dev-docs == 'true'
- name: Kill Http Server
run: kill $(lsof -t -i:3000) || true
if: steps.filter.outputs.docs == 'true' || steps.filter.outputs.dev-docs == 'true'
continue-on-error: true