Warning
USER NOTICE: DO NOT use suap as a tool for building or installing cloudy-org applications, that is not the intent of the tool.
For application setup / installation check the application's own instructions in it's README.md file.
Suap is in alpha testing stage at the moment, feel free to submit PRs to improve my shit Python code in this project. Thanks
- NSIS (for packaging windows installers)
- Rust and Cargo (for packaging cargo projects).
- x86_64-pc-windows-gnu (for building windows binaries)
- mingw-w64-binutils (required for embedding windows icons onto executables)
# .github/workflows/suap.yml
name: Suap Package & Publish Binaries on Release Tag
# ... WIP, help wanted!Warning
Suap is not really designed for usage in a development environment but rather in CI. You would only really want to use it during development for testing.
Suap targets Python 3.13 support and currently only supports Linux (this may or may not change).
python -m venv .venv
source .venv/bin/activate
pip install git+https://github.com/cloudy-org/suap@v0.1.0-beta.1
suap --helpuv tool install --from git+https://github.com/cloudy-org/suap@v0.1.0-beta.1 suap
uvx suap --helpNow that the tool is installed in your environment, make sure you're inside your cloudy-org applications's directory with suap.toml at it's root.
If you don't have a suap.toml file, create one from the example here.
From here on you can query the help command for various actions you can perform other than packaging.
suap --helpsuap package --project cargo --platform-format windowsIn the future a suap project may have multiple types of projects under it so you must specify which type you're packaging via --project (at least for now).
At this moment there are 3 platform formats you can package to:
linux-bin(standalone binary)windows-bin(standalone binary)windows-setup(windows installer)
--platform-format {platform}-{format}The windows platform format key is an umbrella key to build and package both formats windows-bin and windows-setup, the same way the linux key contains linux-bin.
Use the specific key (e.g: linux-bin) if you would like to target packaging just that format and not any other format under that platform.
In the suap.toml config we set the icons folder (icons = "./assets/icons"). We must populate that with icons for the application (be it placeholders or real official icons for prod):
# The icons folder is where you'll place your icons.
#
# The name of the image files must be specific like so:
# "windows.ico" - windows specific app icon
# "original.png" - when there's no platform specific icon suap falls back to this
icons = "./assets/icons"Here's an example:
And here's me using suap to package windows binaries for roseate with the command from earlier:
The ./dist folder:
Readme Work In Progress...

