Skip to content

ci: verify Windows GUI has no MinGW runtime DLL deps#206

Merged
javi11 merged 1 commit intomainfrom
claude/cool-solomon-abdbf7
Apr 24, 2026
Merged

ci: verify Windows GUI has no MinGW runtime DLL deps#206
javi11 merged 1 commit intomainfrom
claude/cool-solomon-abdbf7

Conversation

@javi11
Copy link
Copy Markdown
Owner

@javi11 javi11 commented Apr 22, 2026

Summary

  • Add composite action .github/actions/verify-windows-gui-dlls that runs objdump -p on the built GUI exe and fails if libgcc_s_seh-1.dll, libstdc++-6.dll, or libwinpthread-1.dll appear in the PE import table.
  • Call it right after wails build in both dev-build.yml and release.yml build-gui-windows jobs.

Why

Commit b2a3167 statically linked the MinGW runtime so users don't need those three DLLs installed. Nothing in CI currently enforces that — a future flag change or Wails/Go update could silently re-introduce a dynamic dependency and we'd only learn about it from user reports. This check is the regression guard.

The action reuses the MSYS2 MINGW64 setup both jobs already perform, so no extra tooling is added.

Test plan

  • Confirm build-gui-windows in dev-build.yml passes on this PR and the new step prints a DLL import list without the three forbidden names.
  • (Optional) On a throwaway branch, drop -extldflags=-static / CGO_LDFLAGS and confirm the step fails with the expected error before reverting.

Add a composite action that inspects the built GUI exe with objdump and
fails if libgcc_s_seh-1.dll, libstdc++-6.dll, or libwinpthread-1.dll
appear in its PE import table. Wired into both dev-build.yml and
release.yml right after `wails build` to prevent silent regressions of
the static MinGW linking added in b2a3167.
@javi11 javi11 merged commit 555cca1 into main Apr 24, 2026
3 of 4 checks passed
@javi11 javi11 deleted the claude/cool-solomon-abdbf7 branch April 24, 2026 07:09
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