emrg: guard icon-gen step against runner hangs (apt/Chrome headless timeouts) - #872
Merged
Merged
Conversation
argszero
commented
Aug 19, 2026
argszero
left a comment
OwnerAuthor
There was a problem hiding this comment.
✅ LGTM — cycle. Root cause verified (v0.2.55 Build Release 32233055863 hung on ubuntu x86_64 'Generate icon assets' twice — other 4 jobs SUCCESS), fix adds timeouts at both apt-get and Chrome-headless sites plus Linux --no-sandbox; bash -n + YAML parse + local gen-assets run + full suite (976 passed + 1 skipped) all green.
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 freeto 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.
The v0.2.55 Build Release (run 32233055863) hung deterministically on the ubuntu-24.04 x86_64 job at the 'Generate icon assets' step — twice (fresh run + rerun), ~12-19 min each, and had to be cancelled. Root cause: the step has no timeout anywhere in the path:
sudo apt-get update && apt-get install librsvg2-bincan block forever on a slow/network-starved runner;gen-assets.shChrome/Chromium headless fallback has no timeout, so a hung Chrome blocks the job indefinitely (the previous 4/5 jobs were already SUCCESS — only this step stalled).Changes (2 files, +19/-3):
packaging/gen-assets.sh: wrap the Chrome headless renderer withtimeout 90(when thetimeoutbinary exists) so a stuck renderer falls through to the next renderer; add--no-sandboxon Linux (runner container); document the v0.2.55 lesson inline..github/workflows/build-release.yml: guard the Linuxapt-get update/install withtimeout 180each, falling back to the (now time-bounded) Chrome headless path on failure.Verification:
bash -n packaging/gen-assets.shOK, workflow YAML parses, localbash packaging/gen-assets.shregenerates all assets (icon.png/512/256/icns/ico), full suite 976 passed + 1 skipped (977 collected, doc-count guard consistent).