fix(deploy): publish manifest.json on Pack-only deploys

Stage 5 of Deploy-Brass.ps1 was gated only on \$shouldRunLauncher, so a
"-Stage Pack" run regenerated the manifest locally + mirrored
pack/overrides/ to the share, but never copied the new manifest.json
itself. Result: tweak jars/configs landed on the share, but clients
fetching the (still-old) manifest never knew about the new SHA-1s and
skipped the re-sync. Caught when fixing the brassandsigil_tweaks jar:
the public manifest stayed at 0.9.2 even though local was 0.9.3.

Split into two stages -- launcher exe stays gated on \$shouldRunLauncher,
manifest.json now publishes whenever \$shouldRunPack (so any Pack, All,
or Launcher deploy includes it).
This commit is contained in:
Matt Sijbers
2026-05-09 22:32:01 +01:00
parent bbba58d1dd
commit 62c88d4895
+12 -3
View File
@@ -198,11 +198,20 @@ if ($shouldRunPack -and (Test-Path $overridesLocal)) {
}
}
# ─── Stage 5: deploy launcher exe + manifest to share ──────────────────────
# ─── Stage 5: publish launcher exe (only when Stage includes Launcher) ─────
if ($shouldRunLauncher) {
Step "Copy launcher.exe + manifest to $DeployShare" {
Step "Copy launcher.exe -> $DeployShare" {
Copy-Item $launcherExe (Join-Path $DeployShare $LauncherDeployedAs) -Force
Copy-Item $manifestPath (Join-Path $DeployShare 'manifest.json') -Force
}
}
# ─── Stage 6: publish manifest (any time pack content changed) ─────────────
# Manifest is a pack artifact, not a launcher artifact -- a Pack-only deploy
# (e.g. tweak jar or pack version bump) still needs the new manifest to land
# on the share so clients see the updated SHA-1 list and pack version.
if ($shouldRunPack) {
Step "Copy manifest.json -> $DeployShare" {
Copy-Item $manifestPath (Join-Path $DeployShare 'manifest.json') -Force
}
}