Skip to content

Repository files navigation

Perry Builder (Linux)

Build worker for the Perry ecosystem, targeting Linux and Android. Connects to Perry Hub via WebSocket, receives build jobs, and returns signed artifacts.

How It Works

Perry Hub ──WebSocket──► This Worker
│ │
│ job_assign ├─ compile (perry compiler)
│ (manifest + tarball) ├─ package (AppImage / .deb / .apk)
│ ├─ sign (keystore)
│ ◄── progress/logs ────├─ publish (Play Store)
│ ◄── artifacts ────────┘
  1. Worker connects to hub, sends worker_hello with platform capabilities
  2. Hub assigns a job with manifest, credentials, and tarball
  3. Worker runs: compilepackage → (optional) sign → (optional) publish
  4. Progress and logs stream back to hub in real-time
  5. Built artifacts are uploaded for CLI download

Building

cargo build --release

Running

PERRY_BUILD_PERRY_BINARY=/path/to/perry \
PERRY_HUB_URL=wss://hub.perryts.com/ws \
./target/release/perry-builder-linux

Configuration

VariableDefaultDescription
PERRY_HUB_URLwss://hub.perryts.com/wsHub WebSocket URL
PERRY_HUB_WORKER_SECRET(empty)Shared secret for hub authentication
PERRY_BUILD_PERRY_BINARYperryPath to the Perry compiler binary
PERRY_WORKER_NAMEhostnameWorker display name
PERRY_BUILD_ANDROID_HOME$ANDROID_HOMEAndroid SDK path
PERRY_BUILD_ANDROID_NDK_HOME$ANDROID_NDK_HOMEAndroid NDK path

Capabilities

This worker advertises ["linux", "android"] to the hub:

  • Linux — AppImage (default), .deb, or .tar.gz
  • Android.apk/.aab via Gradle, keystore signing, optional Play Store upload

Linux Packaging Formats

FormatTool RequiredNotes
AppImageappimagetoolDefault, portable single-file
.debdpkg-debDebian/Ubuntu package
.tar.gz(none)Simple archive

Prerequisites

  • Perry compiler
  • Android SDK + NDK (for Android builds)
  • appimagetool (for AppImage packaging)

Related Repos

License

MIT

About

Linux/Android build worker for the Perry ecosystem

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages