ci: add CCMA release builds

This commit is contained in:
Marcel Peterkau
2026-06-23 20:19:53 +02:00
parent 302170230a
commit 0e3087a780
16 changed files with 842 additions and 24 deletions
+24 -3
View File
@@ -59,8 +59,8 @@ also checks the default install locations under `%PROGRAMFILES%` and
## Building standalone executables
To bundle CCMA into a single-file Windows executable with PyInstaller, use the
build script in the `build/` directory:
CCMA uses the same PyInstaller-based release flow locally and in CI. The
single-file executables are built from `build/ccma.spec`.
### Windows standalone build
@@ -76,9 +76,30 @@ This creates two executables in the `dist/` directory:
The build script automatically:
- Creates a venv if missing
- Installs dependencies and PyInstaller
- Generates a Windows icon from the splash image
- Generates a Windows icon from the CCMA icon
- Runs PyInstaller to bundle the application
### Linux standalone build
```bash
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -U pip
pip install -r requirements.txt
pip install pyinstaller
python -m PyInstaller --noconfirm --clean build/ccma.spec
```
This creates `dist/ccma`. In CI, release builds additionally rename artifacts
to `ccma-<version>-linux-<arch>` and `ccma-<version>-windows-<arch>.exe`.
### CI release builds
The Gitea workflows use the central `ci-templates` submodule and
`ci-config.yaml` to run PR checks, Linux smoke builds, and release packaging for
Linux amd64, Linux arm64, and Windows amd64. A release build is skipped when the
commit message contains `[nobuild]`.
On first start, select or create the central member-store directory. The
`VERSION` file is the single source for application and package versions.