This repository manages the deployment configurations for the RPDevs ecosystem build fleet.
The fleet has been refactored from a multi-tenant generic design into a highly targeted architecture utilizing GitHub Runner Groups. Capacity is now explicitly managed through node-specific runner groups to distribute workloads intelligently:
- llmadmin01 (
llmadmin01group): Heavy-duty nodes optimized for fast compiling and heavy container builds. - T430 (
T430group): Lightweight/general-purpose nodes for auxiliary/parallel workflows and housekeeping. - macOS Builders (
macos-buildersgroup): Specialized for macOS/iOS tooling and targets. - Windows Builders (
windows-buildersgroup): Specialized for Windows execution environments.
Runners are perfectly duplicated across two primary organizations:
- RPDevs-Builds: High-frequency workflows, package builds, and integrations.
- RPDevs-Vault: Archival, management, and governance workflows.
The workflows executed by these runners have been consolidated into a streamlined 2-Core Manager Architecture:
- devops-manager (Tier 1): Runs the
global-health-engine,archive-lifecycle-engine,governance-engine, andnotification-manager. - builder-manager (Tier 2): Runs the
registry-managerengine which handles dependency compilation, GHCR auditing, and OCI image mirroring.
These consolidated workflows are mirrored in the Workflows/ directory of this repository for reference.
All build workflows feature a dynamic pre-job status check (check-runner).
- If a local runner is online, the workflow runs on our high-performance local fleet.
- If all local runners are offline, the workflow automatically falls back to GitHub-hosted runners (
ubuntu-latestormacos-latest) to ensure builds are never blocked. - Duration-Based Escalation: Workflows query the GitHub CLI for historical build durations. Workloads historically taking longer than 15 minutes are intelligently escalated from lightweight to heavy runner nodes to save idle compute on lighter nodes.
- llmadmin01: High-performance primary node. Runners are strictly bounded to 6 CPUs and 12GB RAM to protect the host workstation's primary performance.
- T430: Auxiliary/Parallel node. Runners are bounded to 3 CPUs and 6GB RAM allocated dynamically.
Multi-gigabyte SDKs and toolchains are stored centrally in /mnt/sharedroot/github_runners/ (e.g., the pre-staged /mnt/sharedroot/github_runners/android-sdk is mounted directly to /opt/android-sdk), eliminating setup/copy overhead on startup.
On the target machine (llmadmin01 or T430), ensure you have the latest configurations:
cd /mnt/data/github_runners # (or /mnt/largedata/github_runners on llmadmin01)
git pull origin mainSince this repository manages multiple nodes, you must link the correct configuration to the root of your local folder:
# On T430:
ln -sf T430/docker-compose.yml .
# On llmadmin01:
ln -sf llmadmin01/docker-compose.yml .Ensure your workspace is fast and expandable:
# On T430 (32G Total, 4G RAM Limit)
sudo ./setup_flex_zram.sh /mnt/data/github_runners/work /mnt/data/github_runners/workflex/zram_back 4G 32G# Ensure GH_PAT is set in your environment
export GH_PAT=your_token_here
docker-compose pull && docker-compose up -dIf docker-compose is not installed on your system:
sudo apt-get update
sudo apt-get install -y docker-composeIf the runners fail to start with permission errors:
sudo chown -R 1000:1000 /mnt/data/github_runners/work