From 3cda8c72d21653fd2019ffa8e36dd290c9196dca Mon Sep 17 00:00:00 2001 From: Jack Zhuang Date: Sun, 21 Jun 2026 16:15:43 +0800 Subject: [PATCH 1/2] ci(showcase): build the showcase dependency closure before the smoke MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The smoke's webServer (`os serve --dev`) loads the showcase config + its workspace runtime deps (connector-rest, …) from their built dist/. The first run failed with "Cannot find module @objectstack/connector-rest/dist/index.mjs" because only the CLI was built. Build the full dependency closure (`--filter=@objectstack/example-showcase^...`) and bump the timeout to 30m. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/showcase-smoke.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/showcase-smoke.yml b/.github/workflows/showcase-smoke.yml index b9752841ee..41981dfdec 100644 --- a/.github/workflows/showcase-smoke.yml +++ b/.github/workflows/showcase-smoke.yml @@ -16,7 +16,7 @@ jobs: smoke: name: Showcase nav-surface smoke runs-on: ubuntu-latest - timeout-minutes: 25 + timeout-minutes: 30 steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 @@ -25,8 +25,11 @@ jobs: node-version: 22 cache: pnpm - run: pnpm install --frozen-lockfile - # The smoke's webServer runs the CLI (`os serve --dev`); build it first. - - run: pnpm turbo run build --filter=@objectstack/cli + # The smoke's webServer runs `os serve --dev`, which loads the showcase + # config + its workspace runtime deps (CLI, connector-rest, …) from their + # built `dist/`. Build the whole dependency closure (excluding the + # showcase's own app build, which serve --dev doesn't need). + - run: pnpm turbo run build --filter=@objectstack/example-showcase^... - name: Install Playwright Chromium working-directory: examples/app-showcase run: pnpm exec playwright install --with-deps chromium From b22e1cc0cd36feabbec65d3c750c222cc7d11587 Mon Sep 17 00:00:00 2001 From: Jack Zhuang Date: Sun, 21 Jun 2026 16:51:08 +0800 Subject: [PATCH 2/2] ci(showcase): vendor the Console SPA before the smoke serve --dev serves the console at /_console from packages/console/dist, which is gitignored and produced by scripts/build-console.sh (clones objectui@ .objectui-sha, builds @object-ui/console). Without it the second shakedown run warned "Console dist not found" and all 29 surfaces timed out waiting for the app shell. Add the vendoring step and raise the timeout to 45m for the extra clone+build. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/showcase-smoke.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/showcase-smoke.yml b/.github/workflows/showcase-smoke.yml index 41981dfdec..25ec043689 100644 --- a/.github/workflows/showcase-smoke.yml +++ b/.github/workflows/showcase-smoke.yml @@ -16,7 +16,7 @@ jobs: smoke: name: Showcase nav-surface smoke runs-on: ubuntu-latest - timeout-minutes: 30 + timeout-minutes: 45 steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 @@ -30,6 +30,12 @@ jobs: # built `dist/`. Build the whole dependency closure (excluding the # showcase's own app build, which serve --dev doesn't need). - run: pnpm turbo run build --filter=@objectstack/example-showcase^... + # The console SPA served at /_console is vendored by build-console.sh + # (shallow-clones objectui@.objectui-sha, builds @object-ui/console, copies + # dist → packages/console/dist). Without it serve --dev warns "Console dist + # not found" and the app shell never renders. + - name: Vendor the pinned Console SPA + run: bash scripts/build-console.sh - name: Install Playwright Chromium working-directory: examples/app-showcase run: pnpm exec playwright install --with-deps chromium