From 51f31cef5de0d92c8f0eb5881cc1210c9ee703b3 Mon Sep 17 00:00:00 2001 From: Devin Foley Date: Tue, 25 Aug 2026 01:44:26 -0700 Subject: [PATCH] fix(cli): stub out the onboarding service install Quick mitigation: the onboarding service step kept shipping broken first runs (#12148, #12153, #12155). Comment out the call at both onboard sites so onboarding configures and offers a foreground start again; the module, its tests, and the flags stay in place for the rework. Park the smoke_service release gate with if false since the flag it drives is inert, and pin the disable in the shape test. --- .github/workflows/release-smoke.yml | 4 ++++ cli/src/commands/onboard.ts | 15 ++++++++++++--- scripts/service-onboard-smoke.test.mjs | 3 +++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-smoke.yml b/.github/workflows/release-smoke.yml index 1656d4f16fe..a1afd7aa6a8 100644 --- a/.github/workflows/release-smoke.yml +++ b/.github/workflows/release-smoke.yml @@ -45,6 +45,10 @@ jobs: # on the runner VM's systemd and require the installed service to end up # serving. smoke_service: + # Disabled while onboarding's service install is stubbed out (#12156): + # the script drives `onboard --yes --install-service`, which is inert + # until the flow is reworked. Re-enable together with that rework. + if: ${{ false }} runs-on: ubuntu-latest timeout-minutes: 30 diff --git a/cli/src/commands/onboard.ts b/cli/src/commands/onboard.ts index db94cb24a75..125f680f40d 100644 --- a/cli/src/commands/onboard.ts +++ b/cli/src/commands/onboard.ts @@ -52,7 +52,8 @@ import { trackInstallStarted, trackInstallCompleted, } from "../telemetry.js"; -import { handleOnboardService, shouldOfferForegroundStart } from "../onboard-service.js"; +// handleOnboardService is parked with the disabled call sites below. +import { shouldOfferForegroundStart } from "../onboard-service.js"; import { readInstallManifest, isManagedExecutable } from "../install-store.js"; type SetupMode = "quickstart" | "advanced"; @@ -456,7 +457,11 @@ export async function onboard(opts: OnboardOptions): Promise { ); printManagedInstallHint(); - const serviceInstalled = await handleOnboardService(opts); + // Disabled while onboarding's service install is reworked: the step kept + // shipping broken first runs (#12148, #12153, #12155). The explicit path + // (`paperclipai install`, then `paperclipai service install`) still works. + // const serviceInstalled = await handleOnboardService(opts); + const serviceInstalled = false; let shouldRunNow = !serviceInstalled && (opts.run === true || opts.yes === true); if (shouldOfferForegroundStart({ serviceInstalled, startAlreadyDecided: shouldRunNow, invokedByRun: opts.invokedByRun === true, interactive: Boolean(process.stdin.isTTY && process.stdout.isTTY) })) { @@ -722,7 +727,11 @@ export async function onboard(opts: OnboardOptions): Promise { await bootstrapCeoInvite({ config: configPath }); } - const serviceInstalled = await handleOnboardService(opts); + // Disabled while onboarding's service install is reworked: the step kept + // shipping broken first runs (#12148, #12153, #12155). The explicit path + // (`paperclipai install`, then `paperclipai service install`) still works. + // const serviceInstalled = await handleOnboardService(opts); + const serviceInstalled = false; let shouldRunNow = !serviceInstalled && (opts.run === true || opts.yes === true); if (shouldOfferForegroundStart({ serviceInstalled, startAlreadyDecided: shouldRunNow, invokedByRun: opts.invokedByRun === true, interactive: Boolean(process.stdin.isTTY && process.stdout.isTTY) })) { diff --git a/scripts/service-onboard-smoke.test.mjs b/scripts/service-onboard-smoke.test.mjs index b859cd3f1bb..49c1454b020 100644 --- a/scripts/service-onboard-smoke.test.mjs +++ b/scripts/service-onboard-smoke.test.mjs @@ -37,6 +37,9 @@ test("smoke script keeps its load-bearing assertions", () => { test("release-smoke workflow runs the service leg against the input version", () => { assert.match(smokeWorkflow, /^ smoke_service:$/m); + // The job is parked with onboarding's stubbed-out service install (#12156); + // this pin forces the re-enable to be a conscious change. + assert.match(smokeWorkflow, /if: \$\{\{ false \}\}/); assert.match(smokeWorkflow, /scripts\/service-onboard-smoke\.sh/); const serviceJob = smokeWorkflow.split(/^ smoke:$/m)[0]; assert.match(serviceJob, /PAPERCLIPAI_VERSION: \$\{\{ inputs\.paperclip_version \}\}/);