Skip to content

ci: Drop the previous build's assets from continuous - #678

Merged
zackees merged 2 commits into
masterfrom
fix/continuous-prune-old
Oct 14, 2026
Merged

zackees merged 2 commits into
masterfrom
fix/continuous-prune-old

Conversation

@zackees

@zackees zackees commented Oct 14, 2026

Copy link
Copy Markdown
Member

After today's repair release, continuous held two AppImages and two .zsync files (2026-10-13's and 2026-10-14's). The asset names carry the commit, so gh release upload --clobber never replaces the previous build, and the AppImage's update information matches OBS_Studio-*.zsync. I removed the stale pair by hand; this makes the release job do it every time: after uploading, it deletes every continuous asset this run did not upload.

  • RED: ci/test_release_step_pitfalls.py requires a delete-asset between the continuous upload and edit.
  • GREEN: the prune loop. Checked locally against a simulated asset list: it keeps the new pair and deletes the old.

After the 2026-10-14 repair release continuous held two AppImages and two
.zsync files; the update info matches OBS_Studio-*.zsync.
Assets this run did not upload are deleted after the new AppImage and
.zsync are in place, so continuous never offers two builds.

Local-Gate: v1 tree=962e740f75e57dd0b3a04eee10a9f2307f10915b secs=358 lanes=lint:run,rust-test:run,cross:run,tier2-linux:run
Ci-Attestation: {"at":1791952488,"gate":"rust/all/fmt","host":"linux-x86_64","key":"4ec30ee5346d5688f7e66a78429ee7f74ad5023135d040e38ad161d195d037d1","lane":"lint","parents":["2e773dec351ff22e79640f955731605929f3c404"],"secs":21,"stamp":"8cb0efff7e69986e71e7ba040d20e605","tree":"962e740f75e57dd0b3a04eee10a9f2307f10915b","v":1,"via":"run"}
Ci-Attestation: {"at":1791952488,"gate":"rust/x86_64-unknown-linux-gnu/clippy","host":"linux-x86_64","key":"4ec30ee5346d5688f7e66a78429ee7f74ad5023135d040e38ad161d195d037d1","lane":"lint","parents":["2e773dec351ff22e79640f955731605929f3c404"],"secs":21,"stamp":"007c69b6e203b68da8fde2f3caaaf677","tree":"962e740f75e57dd0b3a04eee10a9f2307f10915b","v":1,"via":"run"}
Ci-Attestation: {"at":1791952488,"gate":"rust/x86_64-unknown-linux-gnu/test","host":"linux-x86_64","key":"757e4a37f3ffe62cab3d6be0ebc781dcb814760297e84543f4055d0227b6273b","lane":"rust-test","parents":["2e773dec351ff22e79640f955731605929f3c404"],"secs":82,"stamp":"8460e6d86b65ccc8f8ecd90a17cf5183","tree":"962e740f75e57dd0b3a04eee10a9f2307f10915b","v":1,"via":"run"}
Ci-Attestation: {"at":1791952488,"gate":"rust/x86_64-pc-windows-msvc/clippy","host":"linux-x86_64","key":"71493ba4879928233a7b5e6c80b3f4278e01580b03ed9a81d2d162623654a709","lane":"cross","parents":["2e773dec351ff22e79640f955731605929f3c404"],"secs":67,"stamp":"b9d63f6f301d2875fdd5b75bf639821b","tree":"962e740f75e57dd0b3a04eee10a9f2307f10915b","v":1,"via":"run"}
Ci-Attestation: {"at":1791952488,"gate":"rust/x86_64-pc-windows-msvc/dylint","host":"linux-x86_64","key":"71493ba4879928233a7b5e6c80b3f4278e01580b03ed9a81d2d162623654a709","lane":"cross","parents":["2e773dec351ff22e79640f955731605929f3c404"],"secs":67,"stamp":"3f18e4609582a7a2234c9c4fcd3ac6e5","tree":"962e740f75e57dd0b3a04eee10a9f2307f10915b","v":1,"via":"run"}
Ci-Attestation: {"at":1791952488,"gate":"rust/aarch64-apple-darwin/clippy","host":"linux-x86_64","key":"71493ba4879928233a7b5e6c80b3f4278e01580b03ed9a81d2d162623654a709","lane":"cross","parents":["2e773dec351ff22e79640f955731605929f3c404"],"secs":67,"stamp":"a67b009076c36ffd12a8a586f2f2ec4b","tree":"962e740f75e57dd0b3a04eee10a9f2307f10915b","v":1,"via":"run"}
Ci-Attestation: {"at":1791952488,"gate":"rust/aarch64-apple-darwin/dylint","host":"linux-x86_64","key":"71493ba4879928233a7b5e6c80b3f4278e01580b03ed9a81d2d162623654a709","lane":"cross","parents":["2e773dec351ff22e79640f955731605929f3c404"],"secs":67,"stamp":"85e25edf22560ea9588d8e5fa6957bdb","tree":"962e740f75e57dd0b3a04eee10a9f2307f10915b","v":1,"via":"run"}
Ci-Attestation: {"at":1791952488,"gate":"rust/x86_64-apple-darwin/clippy","host":"linux-x86_64","key":"71493ba4879928233a7b5e6c80b3f4278e01580b03ed9a81d2d162623654a709","lane":"cross","parents":["2e773dec351ff22e79640f955731605929f3c404"],"secs":67,"stamp":"a95704658f05fe7768a5daf2983c3370","tree":"962e740f75e57dd0b3a04eee10a9f2307f10915b","v":1,"via":"run"}
Ci-Attestation: {"at":1791952488,"gate":"rust/x86_64-apple-darwin/dylint","host":"linux-x86_64","key":"71493ba4879928233a7b5e6c80b3f4278e01580b03ed9a81d2d162623654a709","lane":"cross","parents":["2e773dec351ff22e79640f955731605929f3c404"],"secs":67,"stamp":"8438d03a6e4914e8003ecb9fdca9de1a","tree":"962e740f75e57dd0b3a04eee10a9f2307f10915b","v":1,"via":"run"}
Ci-Attestation: {"at":1791952488,"gate":"cpp/linux-x64/tier2","host":"linux-x86_64","key":"43a0617904a2fa09ecea8d1524aa9e0f7384cf2f38b5db8e857446f5fc79a612","lane":"tier2-linux","parents":["2e773dec351ff22e79640f955731605929f3c404"],"secs":188,"stamp":"45eeb5fa38a7d4c75dafe4c7a75832d2","tree":"962e740f75e57dd0b3a04eee10a9f2307f10915b","v":1,"via":"run"}
@zackees

zackees commented Oct 14, 2026

Copy link
Copy Markdown
Member Author

Integration with the claimed #624 / draft #677: #677 changes packaging, uploads and zsync update metadata to canonical OBS-Studio-Rust-<reported-version>-linux-x86_64.AppImage and .zsync names. It preserves both unchanged files for beta and continuous. Its first actual package run exposed a host precheck dependency failure; that correction is locally gated before push.

Please keep the prune keep-list aligned with the upload patterns when these changes combine. Leaving OBS_Studio-* in the keep-list after canonical uploads would make the prune loop delete the newly uploaded canonical pair. I will integrate your landed change when rebasing #677. It is also safer to prune only superseded AppImage/zsync assets, preserving unrelated attachments if continuous gains them. The release/tag must remain in place, and pruning should remain after successful upload.

@zackees
zackees merged commit 2d52ad2 into master Oct 14, 2026
21 checks passed
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.

1 participant