Skip to content

fix: extract blog draft from stdout via frontmatter marker #216

fix: extract blog draft from stdout via frontmatter marker

fix: extract blog draft from stdout via frontmatter marker #216

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
python:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: "3.12"
- uses: astral-sh/setup-uv@v8.0.0
- name: Lint
run: uv run ruff check skill/ mcp-local/ mcp-server/ shared/ api/
- name: Test
run: uv run pytest tests/ -v
web-ui:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: "20"
cache: npm
cache-dependency-path: web-ui/package-lock.json
- name: Install
run: npm ci
working-directory: web-ui
- name: Lint
run: npm run lint
working-directory: web-ui
- name: Check for undefined references
run: |
# Catch "Cannot find name" errors that cause runtime crashes
# Full tsc --noEmit is not yet clean; this targets the most critical class
ERRORS=$(npx tsc --noEmit 2>&1 | grep "Cannot find name" || true)
if [ -n "$ERRORS" ]; then
echo "$ERRORS"
echo "::error::Undefined references found — these will crash at runtime"
exit 1
fi
working-directory: web-ui
- name: Build
run: npm run build
working-directory: web-ui
infra:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: "20"
cache: npm
cache-dependency-path: infra/package-lock.json
- name: Install
run: npm ci
working-directory: infra
- name: Type check
run: npx tsc --noEmit
working-directory: infra
guard:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v6
- name: Deny cdk.context.json
run: |
if [ -f "infra/cdk.context.json" ]; then
echo "::error::infra/cdk.context.json must not be committed"
exit 1
fi
- name: Deny .env files
run: |
if compgen -G "**/.env" > /dev/null || compgen -G "**/.env.*" > /dev/null; then
echo "::error::.env files must not be committed"
exit 1
fi