Files
VoiceStudio/.github
Palash DebnathandClaude Opus 4.7 d29db18214 fix(release): strip+filter bundle + report size (#13)
* ci: opt JavaScript actions into Node 24 runtime

GH deprecates Node 20 for JavaScript actions on 2026-09-16. The
deprecation warning surfaces on every run right now. Setting
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true at workflow level makes
actions/checkout, actions/setup-*, astral-sh/setup-uv, and
oven-sh/setup-bun all run on Node 24 without bumping action versions.

This is a runtime override only — our own test script still pins
Node 22 via actions/setup-node@v4 (required for
--experimental-strip-types).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(release): strip symbols + filter CUDA/CUDA-provider binaries, report size

Previous slim pass (PR #11, CPU-only torch + module excludes) still left
the frozen backend above GH Releases' 2 GB per-asset cap. Two more levers:

1. strip=True on EXE + COLLECT. Strips debug symbols from ELF/Mach-O
   native libraries. libtorch_cpu.so and friends drop ~25-30%. No-op on
   Windows (MSVC stores symbols in separate .pdb files).

2. optimize=2 in Analysis. Compiles embedded bytecode with -OO:
   docstrings + assertions removed. ~50-80 MB off the PYZ archive.

3. Post-hoc binary filter after collect_all. Even with nvidia wheels
   excluded as Python modules, collect_all('torch')/('onnxruntime') can
   still pull the CUDA-runtime shared libs via their linker hints.
   Pattern-match them out of a.binaries before PYZ.

4. Log bundle size after freeze so CI runs can be compared without
   downloading artifacts.

If this round still overshoots 2 GB, the next step is splitting the
payload (thin installer + post-install download of the Python bundle).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 03:01:10 +05:30
..