Skip to content

Exclude AOT debug sidecars from release packages - #92

Merged
matt-gribben merged 1 commit into
mainfrom
chore/strip-release-debug-symbols
Aug 6, 2026
Merged

Exclude AOT debug sidecars from release packages#92
matt-gribben merged 1 commit into
mainfrom
chore/strip-release-debug-symbols

Conversation

@matt-gribben

@matt-gribben matt-gribben commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

PublishAot + StripSymbols writes platform debug sidecars beside the native binary (macOS *.dSYM, Linux *.dbg, Windows *.pdb). Release packaging copied the entire publish tree into archives, so those files landed in:

  • GitHub release tarballs/zips
  • @hypabolic/hypa-* npm platform packages (e.g. bin/hypa.dSYM/...)
  • PyPI platform wheels

That inflated @hypabolic/hypa-darwin-x64 enough that cnpm/npmmirror rejected sync (see #90: ~188 MB vs 80 MB allow). None of the sidecars are needed at runtime — the executable is already stripped.

Changes

  1. Primary: after copy in the release Package step, delete *.dSYM directories and *.pdb / *.dbg files before archiving.
  2. Defense in depth: npm platform staging and PyPI wheel extract skip the same artifacts if an archive still contains them.
  3. Comment on StripSymbols in Hypa.Cli.csproj pointing at the packaging rule.

Historic published versions (e.g. 0.1.5) cannot be rewritten; this applies from the next release onward.

Test plan

  • Python extract filter smoke-checked against sample paths
  • Next release build: confirm package logs show excluded artifacts (or none present) and npm tarball has no *.dSYM
  • Spot-check that bin/hypa (and grammar dylib/so) still ship

Closes #90

StripSymbols leaves macOS .dSYM, Linux .dbg, and Windows .pdb next to the
native binary. Copying the full publish tree shipped that bloat into GitHub
archives, npm platform packages, and PyPI wheels. Drop the sidecars when
packaging, with npm/wheel extract filters as defense in depth.
Copilot AI review requested due to automatic review settings August 6, 2026 08:43
@matt-gribben matt-gribben added the chore Chores and housekeeping label Aug 6, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@matt-gribben
matt-gribben merged commit 782953d into main Aug 6, 2026
9 checks passed
@matt-gribben
matt-gribben deleted the chore/strip-release-debug-symbols branch August 6, 2026 09:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Chores and housekeeping

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@hypabolic/hypa-darwin-x64 to big size

2 participants