2 Commits
Author SHA1 Message Date
asepharyana d8da598f1d fix: update MCP smoke test to include 4 new tools (create/delete/list_sections/update)
CI / typecheck + build (push) Canceled after 0s
CI / deploy to VPS (push) Canceled after 0s
Smoke test was silently failing in CI because 'bun --cwd apps/mcp run smoke'
printed usage (exit 0) — never actually ran. Now that we fixed the build step
to use 'cd apps/mcp && bun run smoke', the test runs and reveals 4 tools
were added to the MCP server but not updated in the expected list:
create_document, delete_document, list_sections, update_document.

Updated smoke.ts expected list from 10 → 14 tools.
2026-08-21 11:57:55 +07:00
asepharyana 628068e33d fix: CI build steps — use 'cd X && bun run' not 'bun --cwd'
Root cause: 'bun run' subcommand does NOT support --cwd flag. Both
'Build web' and 'MCP smoke test' steps used 'bun --cwd apps/X run build/smoke'
which silently printed usage and exited 0 — no actual build/test ran.
This meant:
1. No .next/ was produced → artifact upload found no files → deploy failed
2. Smoke test was silently skipped

Fix: use 'cd apps/X && bun run Y' pattern instead.
2026-08-21 11:53:15 +07:00
2 changed files with 6 additions and 8 deletions

No files matched your search

+2 -8
View File
@@ -15,8 +15,6 @@ jobs:
build: build:
name: typecheck + build name: typecheck + build
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs:
sha: ${{ steps.set-sha.outputs.sha }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v5
@@ -34,13 +32,13 @@ jobs:
run: bun run typecheck run: bun run typecheck
- name: Build web - name: Build web
run: bun --cwd apps/web run build run: cd apps/web && bun run build
# Smoke: verify the MCP server + resources load and the indexer/module # Smoke: verify the MCP server + resources load and the indexer/module
# graph resolves. Requires no external services (Redis/Postgres) — pure # graph resolves. Requires no external services (Redis/Postgres) — pure
# module load + in-memory smoke test. # module load + in-memory smoke test.
- name: MCP smoke test - name: MCP smoke test
run: bun --cwd apps/mcp run smoke run: cd apps/mcp && bun run smoke
# Unit tests across all packages + apps. CI has no Postgres/Redis, so # Unit tests across all packages + apps. CI has no Postgres/Redis, so
# tests use bun:test module mocking to stub @mcpedia/db, @mcpedia/queue, # tests use bun:test module mocking to stub @mcpedia/db, @mcpedia/queue,
@@ -50,10 +48,6 @@ jobs:
# Upload the built .next directory as a deploy artifact. # Upload the built .next directory as a deploy artifact.
# The deploy job copies this directly to the VPS — no build needed there. # The deploy job copies this directly to the VPS — no build needed there.
- name: Set SHA output
id: set-sha
run: echo "sha=${GITHUB_SHA::12}" >> $GITHUB_OUTPUT
- name: Upload web build artifact - name: Upload web build artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
+4
View File
@@ -15,16 +15,20 @@ async function main() {
const names = tools.tools.map((t) => t.name).sort(); const names = tools.tools.map((t) => t.name).sort();
console.log("tools:", names.join(", ")); console.log("tools:", names.join(", "));
const expected = [ const expected = [
"create_document",
"delete_document",
"get_document", "get_document",
"get_related_documents", "get_related_documents",
"hybrid_search", "hybrid_search",
"index_document", "index_document",
"list_documents", "list_documents",
"list_sections",
"queue_status", "queue_status",
"reindex_all", "reindex_all",
"restore_revision", "restore_revision",
"search_documents", "search_documents",
"semantic_search", "semantic_search",
"update_document",
].sort(); ].sort();
if (JSON.stringify(names) !== JSON.stringify(expected)) { if (JSON.stringify(names) !== JSON.stringify(expected)) {
throw new Error(`tool set mismatch: ${names.join(",")}`); throw new Error(`tool set mismatch: ${names.join(",")}`);