Skip to content

fix(release): preserve icon source bytes on Windows - #3403

Merged
wgqqqqq merged 1 commit into
GCWing:mainfrom
wgqqqqq:wgq/fix-windows-icon-source-check
Oct 15, 2026
Merged

wgqqqqq merged 1 commit into
GCWing:mainfrom
wgqqqqq:wgq/fix-windows-icon-source-check

Conversation

@wgqqqqq

@wgqqqqq wgqqqqq commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator

Windows Desktop packaging fails during pnpm install because Git converts the Icon Composer and legacy canvas JSON sources to CRLF. Their exact-byte provenance hash then differs from the committed macOS export, and generate-brand-assets correctly refuses the apparent drift.

Pin those two hashed JSON sources to LF. Also disable automatic newline conversion before Windows release checkout, so the existing immutable v1.0.6 tag can be rebuilt with the corrected workflow without retargeting it or relaxing icon/signature verification.

Validation:

  • Added a real Git checkout regression using core.autocrlf=true; reproduced the stale-export failure before the attributes fix and passed afterward. Also verified a checkout without the new attributes when conversion is disabled, covering old-tag rebuilds.
  • node --test scripts/generate-brand-assets.test.mjs scripts/macos-icon-bundle.test.mjs scripts/desktop-tauri-build.test.mjs — 47 passed, 1 skipped (modern icon compilation needs full Xcode on CI).
  • pnpm run generate-brand-assets — passed, no generated asset changes.
  • pnpm run check:github-config — passed, including the Windows pre-checkout ordering contract.
  • pnpm run check:repo-hygiene and git diff --check — passed.

Observed failure: https://github.com/GCWing/OpenBitFun/actions/runs/38697459708/job/116297423408

AI-assisted; focused checkout and packaging contract tests. No remote workspace, remote control, Peer Device Mode or Detached Dispatch scenarios exercised; runtime behavior, payloads and mobile release configuration are unchanged.

@wgqqqqq
wgqqqqq merged commit 256ae36 into GCWing:main Oct 15, 2026
15 checks passed
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