ci(GUI): consolidate per-OS releases into one draft (idempotent release job)#2824
Merged
Conversation
The previous configuration passed `tagName` to tauri-action on every platform job. With three matrix entries racing to publish to the same tag, each created its own draft release — leaving three separate drafts (one with macOS bundles, one with Linux, one with Windows) that had to be manually merged after every tag push. Just hit this on gui-v7.2.1-alpha.1. Restructure: - tauri-action no longer publishes anything. It just builds and uploads the per-platform bundle directory as a workflow artifact (already happening; nothing new to wire). - A new `release` job runs after the build matrix on `gui-v*` tags only. It downloads each OS's `coolprop-gui-<os>` artifact, copies the user-facing installer files (.dmg, .app.tar.gz, .deb, .rpm, .AppImage, .msi, -setup.exe) into a single staging directory, and uses softprops/action-gh-release to create one draft release with all of them attached. - Pre-release flag auto-detects from the tag name (-alpha / -beta / -rc). - A sanity check fails the job if fewer than 5 installer files turned up, so a silent platform regression doesn't quietly publish a partial release. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes the three-duplicate-drafts behaviour we hit on
gui-v7.2.1-alpha.1. tauri-action was publishing a release from each of the three matrix jobs in parallel, each landing on the same tag and creating its own draft.Restructure:
buildmatrix (unchanged in shape) — tauri-action just builds. NotagName/releaseNamepassed any more, so it stops trying to publish from inside the matrix. The existingactions/upload-artifactstep still uploadswrappers/GUI/src-tauri/target/release/bundle/per OS.releasejob —needs: build, runs only ongui-v*tag pushes. Downloads each OS'scoolprop-gui-<os>workflow artifact, copies the user-facing installers (.dmg,.app.tar.gz,.deb,.rpm,.AppImage,.msi,-setup.exe) into a staging dir, and usessoftprops/action-gh-release@v2to create one draft release with all of them attached.-alpha/-beta/-rc) so we don't have to remember to flip the flag manually.Behaviour
master/ib/GUIetc.gui-v*tagTest plan
The next
gui-v*tag push exercises the change end-to-end. Until then, the build half is unchanged shape (still validated by every PR-trigger run).This was uncovered while shipping #2715 → first alpha. Manual cleanup script applied for that release; future alphas should produce a clean single draft.