Repository navigation
Release: fix Linux arm64 packaging and macOS stapling; add a dry run - #41
Merged
MHohlios merged 1 commit intoNov 4, 2026
Merged
Conversation
…er fail fast, add a dry run Linux packaging stopped on runners without desktop-file-validate: install desktop-file-utils with the other Linux dependencies. Notarizing and stapling now retry on network errors with a growing pause, and a rejected submission prints Apple's log and fails at once. Every build matrix runs to the end when one build fails. Running the workflow by hand on main is a dry run that builds, signs and packages as a tag would, under 0.0.0-dryrun, and publishes nothing.
MHohlios
deleted the
wiffletree/release-fix-linux-arm64-packaging-and-macos-stap
branch
November 4, 2026 14:48
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
The v0.1.0 release at b494ab7 passed its CI gate, then failed in two builds. Linux arm64 stopped because appimagetool needs
desktop-file-validate, which theubuntu-22.04-armrunner lacks. On macOS x86_64, Apple accepted the notarization, thenstapler staplelost its network connection (Error 68). Linux x64 was cancelled by fail-fast. This fixes both failures and adds a dry run, so the whole release path can be proven on main before tagging. Linear: VYT-266.Changes
scripts/install-linux-deps.sh, which the release job already runs, now installsdesktop-file-utils.package-linux.shneeds nothing else.scripts/notarize-macos.sh.notarytool submit --waitandstapler stapleeach retry up to 5 times, pausing 10, 20, 40 and 60 s. An Invalid or Rejected submission printsnotarytool logand fails without retrying.spctl --assessstays as the final check.fail-fast: false, so one failing build never cancels the others. Publish still needs all of them, and runs only on a tag push.workflow_dispatchon main builds, signs, notarizes and packages every asset as0.0.0-dryrun, gated on main's green CI, and uploads them as workflow artifacts. It never creates or touches a GitHub Release. Concurrency is split per event, so a dry run can't replace a pending release.docs/releasing.mdmakes the dry run the step before tagging (Actions → Release → Run workflow on main, wait for green).Checks
actionlintandshellcheckpass.notarize-macos.shwas run against fakexcrun,ditto,spctlandsleepunder bash 3.2 and 5. Cases: success, a transient submit or staple failure then success, repeated failure, and Invalid.0.0.0-dryrunbundle, are first checked by the dry run.Reviewed with Wiffletree: 1 full review and 0 re-checks, 1 round (Tests, Claude, Style)