Thanks for your interest in contributing! Pylux is a free, community-built project and all help is welcome.
| Branch | Purpose |
|---|---|
master |
Default branch. Stable code and the starting point for all forks. When deployed, pushes to production stores. |
release/beta |
Merge target for PRs. Pushes here automatically build and deploy beta builds to all platforms. |
release/alpha |
Experimental testing branch. No CI is triggered. |
- Fork the repo on GitHub.
- Create a feature or fix branch off
master. - Make your changes, commit, and push to your fork.
- Open a pull request targeting
release/beta. - A maintainer reviews and merges. Once merged, CI takes over automatically.
- For larger changes, opening an issue first is appreciated so we can discuss the approach.
- Keep PRs focused — one feature or fix per PR when possible.
When a PR is merged into release/beta, GitHub Actions builds and deploys every platform:
| Platform | What gets built | Where it goes |
|---|---|---|
| Android + Android TV | Signed AAB (all ABIs) | Google Play (beta track) |
| iOS | Signed IPA (arm64) | TestFlight (upload only) |
| macOS | Universal .pkg (arm64 + x86_64) | App Store Connect (upload only) |
| Windows | Portable zip + installer (x86_64) | Dropbox + GitHub Actions artifact |
| Linux | AppImage (x86_64) | Dropbox + GitHub Actions artifact |
| Linux (Flatpak) | Flatpak (x86_64 + aarch64) | Flathub (manifest synced to flathub/io.github.ForWard_Technologies_LLC.Pylux) |
When master is deployed (currently manual dispatch only):
| Platform | Difference from beta |
|---|---|
| Android + Android TV | Pushed to production track instead of beta |
| iOS | Auto-submits for review after upload |
| macOS | Auto-submits for review after upload |
| Windows / Linux / Flatpak | Same as beta |
All workflows can also be triggered manually from the Actions tab.
Each platform has its own build setup. See the relevant directories for details:
- Android —
android/(Gradle + CMake, requires Android SDK/NDK) - iOS —
ios/(Xcode project + CMake for native libs) - macOS App Store —
macos/(CMake + Xcode tooling) - Desktop (Qt) — root
CMakeLists.txt(CMake + Qt 6) - Windows — built via MSYS2 (see
.github/workflows/build-windows.yml) - Linux — built in a container (see
.github/workflows/build-linux.yml) - Flatpak — manifest at
scripts/flatpak/io.github.ForWard_Technologies_LLC.Pylux.yml(see.github/workflows/deploy-flatpak.yml)