# LOGAR Custom CI/CD Runner This directory contains the Docker configuration for the custom **LOGAR Build & Release Runner** (`gitea.eibl.tech/me0nline/logar-runner:latest`). --- ## Included Toolchains & Dependencies - **Operating System**: Debian 12 (Bookworm) - **Python Development**: - `python3`, `python3-dev`, `libpython3-dev` (shared libraries for native ELF compilation) - `python3-pip`, `python3-venv`, `python3-setuptools`, `python3-wheel` - **Native NSIS Cross-Compiler**: - `nsis`, `nsis-common`, `nsis-pluginapi` (`makensis` CLI for compiling Windows `.exe` installers on Linux) - **Build Essentials**: - `gcc`, `make`, `binutils`, `build-essential`, `libffi-dev`, `libssl-dev` - **Pre-installed Python Packages**: - `pyinstaller`, `distlib`, `cryptography`, `pefile`, `pgpy`, `fastapi`, `uvicorn`, `pydantic`, `requests` --- ## Workflow Integration You can run CI/CD jobs directly inside this container image in `.gitea/workflows/`: ```yaml jobs: release: name: Build & Release Standalone Binaries runs-on: logar steps: - uses: actions/checkout@v4 - run: python3 compilation/package_dist.py --target all ``` --- ## Building & Pushing the Runner Trigger the automated workflow [`.gitea/workflows/build-runner.yml`](../.gitea/workflows/build-runner.yml) via the Gitea Actions UI (Actions → Build and Push LOGAR Runner → Run Workflow) or push changes to the `runner/` folder. --- ## Deploying the Runner Stack via Portainer 1. In Gitea, navigate to **Site Administration** (or Repo **Settings**) → **Actions** → **Runners** → **Create Runner**. Copy the registration token. 2. In Portainer, navigate to **Stacks** → **Add stack**. 3. Set the name to `logar-act-runner`. 4. Paste the contents of [`runner/docker-compose.yml`](docker-compose.yml) into the Web editor (or link to this Git repository). 5. In Environment variables, set: - `GITEA_RUNNER_REGISTRATION_TOKEN`: `` 6. Click **Deploy the stack**. The runner will automatically register with Gitea under the dedicated label `logar`, executing jobs inside the pre-configured `gitea.eibl.tech/me0nline/logar-runner:latest` container.