Skip to content

Validate docs

Validate docs #14

name: Validate docs
on:
workflow_dispatch:
jobs:
lint-readme-examples:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
sparse-checkout: |
README.md
package.json
package-lock.json
.eslintrc
sparse-checkout-cone-mode: false
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '16'
cache: 'npm'
cache-dependency-path: './package-lock.json'
- name: Install dependencies
run: npm ci
- name: Create temp directory
run: mkdir -p temp
- name: Extract TypeScript examples from README
uses: firebolt-db/action-extract-doc-code@demo
with:
input_file: README.md
language: typescript
output_file: temp/extracted-code.ts
block_number: 2 # Quickstart
- name: Create temporary tsconfig.json
run: |
cat > temp/tsconfig.json << EOF
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"noImplicitAny": true,
"strictNullChecks": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
},
"include": ["*.ts"]
}
EOF
- name: Check TypeScript compilation
run: npx tsc --noEmit --project temp/tsconfig.json
- name: Lint extracted examples
run: npx eslint temp/*.ts --config .eslintrc
- name: Clean up
if: always()
run: rm -rf temp