From 64fe2aef9a42569d05fddadab8357a14a9da777a Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 15:53:38 +0200 Subject: [PATCH] build: fail publish when upload fatal errors (#48546) We logged a fatal error but didn't exit with code 1 so the publish kept going. This was caught by a sanity check later down the release process but would have been quicker to fail out here. Also adds some code to maybe workaround the underlying auth error Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Samuel Attard --- script/release/uploaders/upload-to-github.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/script/release/uploaders/upload-to-github.ts b/script/release/uploaders/upload-to-github.ts index b801ded782a7..6be8147736f4 100644 --- a/script/release/uploaders/upload-to-github.ts +++ b/script/release/uploaders/upload-to-github.ts @@ -48,7 +48,7 @@ const targetRepo = getRepo(); const uploadUrl = `https://uploads.github.com/repos/electron/${targetRepo}/releases/${releaseId}/assets{?name,label}`; let retry = 0; -const octokit = new Octokit({ +let octokit = new Octokit({ authStrategy: createGitHubTokenStrategy(targetRepo), log: console }); @@ -73,6 +73,12 @@ function uploadToGitHub () { console.log(`Error uploading ${fileName} to GitHub, will retry. Error was:`, err); retry++; + // Reset octokit in case it cached an auth error somehow + octokit = new Octokit({ + authStrategy: createGitHubTokenStrategy(targetRepo), + log: console + }); + octokit.repos.listReleaseAssets({ owner: ELECTRON_ORG, repo: targetRepo, @@ -98,6 +104,7 @@ function uploadToGitHub () { } }).catch((getReleaseErr) => { console.log('Fatal: Unable to get current release assets via getRelease! Error was:', getReleaseErr); + process.exitCode = 1; }); } else { console.log(`Error retrying uploading ${fileName} to GitHub:`, err);