Zakir032002 opened a new pull request, #3385:
URL: https://github.com/apache/fory/pull/3385

   Why?
   Rust users currently must manually install Python and fory-compiler to use 
foryc, making builds non-reproducible and CI setup painful across 
macOS/Linux/Windows and x86_64/aarch64. This PR delivers Phase 1 of #3292: a CI 
workflow that builds, validates, and uploads self-contained foryc binaries for 
all supported platforms — the foundation required before the foryc-bin and 
foryc-build Rust crates can be built in Phase 2.
   
   What does this PR do?
   Adds three files:
   
   compiler/foryc.spec — Reproducible PyInstaller build spec. Enumerates all 
fory_compiler modules as hiddenimports to prevent future refactoring from 
silently dropping modules. Excludes ~15 unused stdlib modules to keep binary 
size below the 10 MB crates.io limit enforced in CI.
   
   compiler/requirements-dev.txt — Pins pyinstaller>=6.0,<7.0 as a dev-only 
dependency, explicitly separated from pyproject.toml so it is never included in 
the published PyPI package.
   
   .github/workflows/build-foryc-binaries.yml — Matrix CI workflow that builds, 
UPX-compresses, validates, and uploads 5 standalone foryc binaries:
   
   linux-x86_64 (ubuntu-22.04)
   
   linux-aarch64 (ubuntu-24.04-arm, native runner)
   
   macos-x86_64 (macos-15-intel)
   
   macos-aarch64 (macos-15, ad-hoc codesigned after UPX)
   
   windows-x86_64 (windows-latest)
   
   Each binary is validated on its native runner with --help and an end-to-end 
demo.fdl → Rust compile. A hard 10 MB size assertion gates Phase 2 crates.io 
embedding.
   
   windows-aarch64 is not included — GitHub Actions has no hosted native 
Windows ARM runner and PyInstaller cannot cross-compile.
   
   Related issues
   Closes #3292 (Phase 1 only — Phase 2: foryc-bin/foryc-build crates; Phase 3: 
docs)
   
   Benchmark
   Not applicable — this PR adds CI infrastructure only, no runtime code 
changes.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to