Skip to content

fix: CI hardening, elegant demo embed and repo cleanup #12

fix: CI hardening, elegant demo embed and repo cleanup

fix: CI hardening, elegant demo embed and repo cleanup #12

Workflow file for this run

name: Deploy Docs
on:
push:
branches: [main]
paths:
- 'docs/**'
- '.github/workflows/docs.yml'
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: pages
cancel-in-progress: false
jobs:
build:
name: Build Docs
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: '20.x'
cache: 'npm'
- name: Install all workspace dependencies
run: npm ci --workspaces
- name: Run CLI tests with HTML coverage
run: |
npm test --workspace=packages/cli -- \
--coverage \
--coverageReporters=lcov \
--coverageReporters=html \
--coverageReporters=json-summary \
--coverageReporters=json \
--json --outputFile=coverage/test-results.json
env:
CI: true
continue-on-error: true
- name: Generate coverage report
run: bash scripts/generate-coverage-report.sh
continue-on-error: true
- name: Install docs dependencies
run: npm ci
working-directory: docs
- name: Build VitePress site
run: npm run build
working-directory: docs
- name: Copy coverage HTML into Pages build
run: |
mkdir -p docs/.vitepress/dist/coverage-report
if [ -d "packages/cli/coverage/lcov-report" ]; then
cp -r packages/cli/coverage/lcov-report/. docs/.vitepress/dist/coverage-report/
echo "Coverage HTML copied to /coverage-report/"
else
echo "No lcov-report found — /coverage-report/ will be empty"
fi
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: docs/.vitepress/dist
deploy:
name: Deploy to GitHub Pages
needs: build
runs-on: ubuntu-latest
timeout-minutes: 10
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4