fix(v2): use root SSH as bootstrap readiness signal

This commit is contained in:
2026-07-25 13:39:10 +00:00
parent 318b0fd836
commit c80854ebd1
+5 -3
View File
@@ -13,7 +13,7 @@ import {
deleteKeyPairAws, deleteKeyPairAws,
deleteSecurityGroupAws, deleteSecurityGroupAws,
} from "./ec2"; } from "./ec2";
import { connectSsh, waitForBootstrap, type SshSession } from "./ssh"; import { connectSsh, type SshSession } from "./ssh";
import { import {
buildPrCommentBody, buildPrCommentBody,
postComment, postComment,
@@ -232,8 +232,10 @@ async function firstDeploy(
activeSshSessions.set(previewId, sshSession); activeSshSessions.set(previewId, sshSession);
try { try {
await appendLog(previewId, `[PP] SSH connected. Waiting for bootstrap to complete...\n`); // Root SSH is enabled as the final bootstrap step, after the completion
await waitForBootstrap(sshSession, 900_000); // marker is written. A successful root connection is therefore the
// readiness signal; polling the same long-lived SSH connection can leave
// a completed instance stuck when its exec channel goes stale.
await appendLog(previewId, `[PP] Bootstrap complete. Starting setup...\n`); await appendLog(previewId, `[PP] Bootstrap complete. Starting setup...\n`);
if (repoConfig.aptPackages.length > 0) { if (repoConfig.aptPackages.length > 0) {