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
55 lines
2.2 KiB
Markdown
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.
|