From 5d0772be7c3393024e0f2d279c5745f0fcf4913c Mon Sep 17 00:00:00 2001 From: RyanVan <150385913+Ryson-32@users.noreply.github.com> Date: Wed, 24 Jun 2026 17:08:40 +0800 Subject: [PATCH] fix(release): pin installer defaults to release tag --- scripts/selfhost-release-assets.cjs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/scripts/selfhost-release-assets.cjs b/scripts/selfhost-release-assets.cjs index 1e41896..c1e6a3e 100644 --- a/scripts/selfhost-release-assets.cjs +++ b/scripts/selfhost-release-assets.cjs @@ -175,10 +175,27 @@ function replaceInstallerDefault(content, item, replacement) { return content.replace(expected, replacementLine); } +function withInferredInstallerDefaults(args) { + const inferred = { ...args }; + const releaseAssetBaseUrl = args.baseUrl || ""; + const releaseImageTag = + args.imageTag || (args.releaseTag ? `${args.imageRepository || DEFAULT_IMAGE_REPOSITORY}:${args.releaseTag}` : ""); + + if (releaseAssetBaseUrl) { + inferred.installerReleaseUrl = inferred.installerReleaseUrl || urlJoin(releaseAssetBaseUrl, "release.json"); + inferred.installerComposeUrl = + inferred.installerComposeUrl || urlJoin(releaseAssetBaseUrl, "docker-compose.image.yml"); + inferred.installerManagerUrl = inferred.installerManagerUrl || urlJoin(releaseAssetBaseUrl, MANAGER_ASSET_NAME); + } + if (releaseAssetBaseUrl && releaseImageTag) inferred.installerImage = inferred.installerImage || releaseImageTag; + return inferred; +} + function rewriteInstallerDefaults(content, args) { + const resolvedArgs = withInferredInstallerDefaults(args); let output = content; for (const item of INSTALLER_DEFAULTS) { - const replacement = args[item.key]; + const replacement = resolvedArgs[item.key]; if (replacement) output = replaceInstallerDefault(output, item, replacement); } return output;