feat: sql command — DuckDB queries over stored documents (CLI, API, MCP, UI)
#146
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| ci: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: oven-sh/setup-bun@v2 | |
| - run: bun install --frozen-lockfile | |
| - name: Typecheck | |
| run: bun run typecheck | |
| - name: Build | |
| run: bun run build | |
| - name: Test | |
| run: bun run test | |
| - name: Coverage | |
| run: bun run test:coverage | |
| - name: OpenAPI spec freshness | |
| run: | | |
| bun run scripts/sync-openapi.ts | |
| git diff --exit-code docs/openapi.json | |
| # FUSE smoke (Linux-only): build the helper, run the in-container mount test. | |
| # macOS/Windows runners are excluded — FUSE is Linux-only by design. | |
| fuse-smoke: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: stable | |
| - name: Build FUSE helper (host target) | |
| run: | | |
| cd packages/fuse-helper | |
| cargo build --release | |
| - name: Run Docker FUSE smoke | |
| run: | | |
| # The harness builds a Ubuntu 24.04 image with fuse3 + /dev/fuse and | |
| # mounts the helper against a stub socket. Linux-only. | |
| bash packages/fuse-helper/docker/run-mount-test.sh | |
| # Phase 5 will extend this with `bun run scripts/e2e.ts ... --fuse-only` | |
| # once the e2e harness gains a --fuse-only flag. For Phase 4 the Docker | |
| # smoke above is the single FUSE regression check. |