Skip to content

Standalone binaries for Windows & Arch (CI build matrix) #3

Description

@gluckdev

Summary

The Ubuntu one-file binary is done (CastToTV-linux.spec, ~124 MB, ffmpeg + yt-dlp + Chromecast/AirPlay/Pillow bundled, verified running with an empty PATH). Bring the same self-contained build to Windows and Arch Linux, and wire it into CI so a tagged push produces all three.

Scope

  • Windows .exe: PyInstaller one-file bundling ffmpeg.exe + ffprobe.exe + yt-dlp.exe (via --add-binary), console=False, upx_exclude for ffmpeg. resolve_binary() already finds them in sys._MEIPASS.
  • Arch: either the same PyInstaller one-file built in an Arch container, or a PKGBUILD that depends on Arch's system ffmpeg/yt-dlp (the resolve_binary() PATH fallback makes the lite build work without bundling).
  • CI: a .github/workflows matrix (windows-latest / ubuntu-latest / arch container) that builds each on tag and attaches the artifacts to the release.

Notes

  • Build on the oldest glibc target for Linux (Ubuntu LTS) so the binary also runs on Arch.
  • Fat bundle is ~120–180 MB; consider also publishing a "lite" build (no bundled ffmpeg/yt-dlp, PATH-resolved) for users who have them.

Acceptance

  • CastToTV.exe runs on a clean Windows machine, no Python/ffmpeg/yt-dlp installed.
  • Arch build (binary and/or PKGBUILD) documented and working.
  • CI matrix builds all three on tag and uploads release assets.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions