Files
LOGAR/runner/README.md
T
me0nline 04ccc999a8
Release Binaries & Packages / Build & Release Standalone Binaries (Linux & Windows Cross-Compilation) (push) Canceled after 0s
CI Test Suite / Run Component Tests & Pipeline Verification (push) Successful in 2m3s
Build and Push LOGAR Runner / Build & Push Runner Image (push) Successful in 11m40s
ci(runner): clean up Dockerfile by stripping unused Java, PowerShell, SpotBugs, and Clang toolchains
2026-09-26 18:45:04 +02:00

55 lines
2.2 KiB
Markdown

# 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**: Ubuntu 22.04 LTS
- **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`: `<your-gitea-runner-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.