Skip to content

fix(nightly): reconcile obsolete staging assets before verification - #1086

Open
hiyouwhatsapp wants to merge 1 commit into
wavefnd:masterfrom
hiyouwhatsapp:fix/nightly-staging-reconcile-1078
Open

hiyouwhatsapp wants to merge 1 commit into
wavefnd:masterfrom
hiyouwhatsapp:fix/nightly-staging-reconcile-1078

Conversation

@hiyouwhatsapp

Copy link
Copy Markdown
Contributor

Fixes #1078

A previous partial Nightly upload can leave obsolete assets in the private staging draft, causing exact remote verification to fail before the existing cleanup loop can run

I moved obsolete staging-asset deletion before exact-set verification, while retaining the preflight conflict checks for current-generation filenames and all existing checksum, size and publication-identity gates

The active public Nightly is untouched until the new private draft passes exact verification and the existing promotion checks

Updated the mock GitHub API to use globally unique asset IDs so staging cleanup cannot accidentally alias public-release assets

Added regression tests for a partial older staging generation, successful newer promotion and repeat attempts, cleanup failure with retry, conflicting current-generation assets and interrupted uploads

The expected 29-asset set and nine package targets remain unchanged

The Rust test suite hasn't been run locally and CI still needs to verify the change

Retain preflight checks for conflicting current-generation assets and only delete obsolete assets from the private staging draft after upload

Exercise partial generations, cleanup failures, retries and conflicting assets with globally unique mock asset identities

Signed-off-by: hiyouwhatsapp <89997383+hiyouwhatsapp@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reconcile obsolete staging assets before verifying a new Nightly generation

1 participant