Skip to content

Retry transient release package installs and verify them independently - #147

Merged
highbyte merged 2 commits into
mainfrom
fix/release-install-retries
Sep 17, 2026
Merged

highbyte merged 2 commits into
mainfrom
fix/release-install-retries

Conversation

@highbyte

Copy link
Copy Markdown
Owner

A transient Broken pipe during Linux Homebrew installation required a manual release-job retry even though the published archive was valid. Add a shared installation helper for Homebrew and Scoop that retries recognized transient failures at most three times, with 10- and 30-second delays, and retains each attempt's output and exit code.

The helper checks installation state before retrying. A completed install must match the exact release version and source commit; partial installs, integrity or permission failures, unknown errors, and version mismatches stop. Functional smoke tests and cleanup remain mandatory. Retries cover Wrighty installation only, not package-manager bootstrap, publication, uploads, or repository pushes.

Add the verify-installation operation to the existing Release workflow so changes can be tested from a branch against an already published immutable release. It reuses the release installation jobs, uses read-only repository access, and skips release credentials, publication, and package-manifest updates. Document the operation and add cross-platform failure-handling checks to CI.

Validation:

  • Installation-only GitHub Actions run passed against v0.19.0-alpha on Linux/Homebrew, macOS/Homebrew, and Windows/Scoop, including exact version/commit verification, Local Markdown lifecycle and stored-state checks, and uninstall cleanup.
  • Controlled failure/retry tests passed on all three runners, including the native Windows Scoop command bridge. Real installs succeeded on their first attempt; simulated failures exercise retry behavior.
  • 19 local tests passed, with the Windows-only test deferred to the successful hosted run. Workflow validation with actionlint and git diff --check passed.

@sonarqubecloud

Copy link
Copy Markdown

@highbyte
highbyte merged commit 60720c3 into main Sep 17, 2026
9 checks passed
@highbyte
highbyte deleted the fix/release-install-retries branch September 17, 2026 13:02
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