From 988ede540406c104279ac4784aeb86ab51d1444c Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Thu, 18 Jun 2026 17:06:53 +0200 Subject: [PATCH] fix(git-node): fix SSH passphrase input when promoting a release --- lib/promote_release.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/promote_release.js b/lib/promote_release.js index 14585586..49967f58 100644 --- a/lib/promote_release.js +++ b/lib/promote_release.js @@ -5,7 +5,7 @@ import { pipeline } from 'node:stream/promises'; import semver from 'semver'; import * as gst from 'git-secure-tag'; -import { forceRunAsync } from './run.js'; +import { forceRunAsync, runSync } from './run.js'; import PRData from './pr_data.js'; import PRChecker from './pr_checker.js'; import Session from './session.js'; @@ -59,7 +59,8 @@ export default class ReleasePromotion extends Session { if (!localCloneIsClean) { if (await cli.prompt('Should we checkout the release proposal?')) { cli.startSpinner('Fetching the proposal upstream...'); - await forceRunAsync('git', ['fetch', proposalUpstreamRemote, releaseCommitSha], + // We need a sync spawn here to avoid the spinner getting in the way of SSH key passphrase + runSync('git', ['fetch', proposalUpstreamRemote, releaseCommitSha], { ignoreFailure: false }); await forceRunAsync('git', ['checkout', releaseCommitSha], { ignoreFailure: false }); cli.stopSpinner('Local HEAD is now in sync with the proposal');