Rebuild beta and campaign file activations

This commit is contained in:
2026-10-12 22:52:58 -04:00
parent fa0baa8db5
commit 537b9841a7
22 changed files with 533 additions and 94 deletions
+7 -7
View File
@@ -297,7 +297,7 @@
const restarts =
test?.plan.rollbackRestart === 'manual'
? 'Resume the rollback campaign when ready; files stay unchanged until safety checks pass.'
: 'Files are restored just before restarting, after safety checks pass.';
: 'Servers rebuild with the original files after safety checks pass.';
if (
!(await confirmAction({
title: reject ? 'Reject beta?' : 'Roll back beta?',
@@ -557,7 +557,7 @@
><td colspan="4">
<p class="muted">
Files {server.deployed_at ? 'installed' : 'pending'} ·
Restart {server.restarted_at
Activation {server.restarted_at
? 'submitted'
: 'pending'}{#if beta.wait_for_health}
· Health {server.healthy_at
@@ -734,10 +734,10 @@
</p>
<p>
Confirming creates a campaign and queues the file changes. Each server waits until empty
and restart capacity is available, then captures rollback snapshots, installs its files,
and restarts. Tested servers keep their pre-beta snapshots and only need another
activation if their configuration changed or earlier queued work could replace the
tested files. Eligibility follows each file's current scope.
and rebuild capacity is available, then captures rollback snapshots and rebuilds with
its files. Tested servers keep their pre-beta snapshots and only need another activation
if their configuration changed or earlier queued work could replace the tested files.
Eligibility follows each file's current scope.
</p>
<p class="muted">
Reviewed {$timeFormat.dateTime(preview.createdAt)}. If targets, versions, or composed
@@ -756,7 +756,7 @@
<ServerIdentity {name} /><span
>{preview.servers.find((server) => server.name === name)?.tested
? 'Already tested'
: 'Additional target · restart when empty'}</span
: 'Additional target · rebuild when empty'}</span
>
</li>{/each}
</ul>
+3 -3
View File
@@ -989,12 +989,12 @@
? 'Failed checks pause testing.'
: 'Failed checks hold the beta for review.'}
{testPlan.rollbackRestart === 'when-empty'
? 'Rollback restarts wait for empty servers.'
: 'Rollback restores files; restart servers manually.'}
? 'Rollback rebuilds wait for empty servers.'
: 'Rollback is held until you resume its campaign.'}
</p>
<p>
Starting installs each selected version only on matching test servers and
restarts them when empty. Waiting, pausing, and retrying use the original
rebuilds them when empty. Waiting, pausing, and retrying use the original
testing window. Promotion is a separate reviewed action after testing.
</p>
</section>{/if}