Harden installer icon + NSIS rebuild path
Full build / Full desktop build + optional release (push) Failing after 3m24s
Full build / Import + headless tests (push) Successful in 27s

- Regenerate icon.ico with classic BMP entries (16/32/48) — PNG-compressed
  ICO entries can fail NSIS' icon loader on some builds
- CI copies assets/textures/icon.ico onto the packaging path right before
  makensis, removing any stale/missing-copy failures
- Recreate v0.2.1 tag after this fix
This commit is contained in:
zwitschi committed 2026-10-31 14:15:38 +01:00
1 parent 418c30e334
commit 8bc84c1f36
12 files changed
+31 -12

No files matched your search

+5 -5
View File
@@ -306,12 +306,12 @@ def app_icon():
icon("icon.png", badge, size=1024)
icon("icon.ico", badge, size=256)
# multi-size ICO for Windows (from the 256 render)
src = Image.open(os.path.join(ASSETS, "icon.png"))
# ICO for Windows. Sizes stay at 16/32/48 so every entry uses classic BMP
# (PNG-compressed entries, used by PIL at >=256px, break some NSIS builds).
src = Image.open(os.path.join(ASSETS, "icon.png")).convert("RGBA")
ico_path = os.path.join(ASSETS, "icon.ico")
src.save(ico_path, format="ICO", sizes=[
(256, 256), (128, 128), (64, 64), (48, 48), (32, 32), (16, 16)])
print("wrote assets/textures/icon.ico (multi-size)")
src.save(ico_path, format="ICO", sizes=[(48, 48), (32, 32), (16, 16)])
print("wrote assets/textures/icon.ico (BMP 16/32/48)")
def cards():