Skip to content

Keep WASM debug symbols for simulate command #305

Open
ejacquier wants to merge 3 commits intomainfrom
wasm-debug-symbols
Open

Keep WASM debug symbols for simulate command #305
ejacquier wants to merge 3 commits intomainfrom
wasm-debug-symbols

Conversation

@ejacquier
Copy link
Contributor

Summary

  • Adds a stripSymbols parameter to CompileWorkflowToWasm to control whether Go debug symbols (-w -s ldflags) are stripped from the WASM binary
  • Deploy strips symbols (true) for smaller binaries uploaded on-chain
  • Simulate keeps symbols (false) for better error messages and stack traces during local debugging
  • No effect on custom WASM builds (Makefile-based) or TypeScript workflows

@ejacquier ejacquier requested a review from a team as a code owner March 9, 2026 17:33
@github-actions
Copy link

github-actions bot commented Mar 9, 2026

👋 ejacquier, thanks for creating this pull request!

To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team.

Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks!

spinner := ui.NewSpinner()
spinner.Start("Compiling workflow...")
wasmFileBinary, err := cmdcommon.CompileWorkflowToWasm(resolvedWorkflowPath)
wasmFileBinary, err := cmdcommon.CompileWorkflowToWasm(resolvedWorkflowPath, false)
Copy link
Contributor

Choose a reason for hiding this comment

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

Worth noting: with debug symbols kept for simulate but stripped for deploy, the simulate binary will be larger than the deploy binary. This means it's possible (though unlikely in practice) to hit the decompressed binary size limit locally during simulate, while the stripped binary would deploy fine. Simulate is supposed to be the "try before you deploy" step, so a false negative there could be confusing.

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.

2 participants