Skip to content

PerryTS/builder-linux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Variable Default Description
PERRY_HUB_URL wss://hub.perryts.com/ws Hub WebSocket URL
PERRY_HUB_WORKER_SECRET (empty) Shared secret for hub authentication
PERRY_BUILD_PERRY_BINARY perry Path to the Perry compiler binary
PERRY_WORKER_NAME hostname Worker display name
PERRY_BUILD_ANDROID_HOME $ANDROID_HOME Android SDK path
PERRY_BUILD_ANDROID_NDK_HOME $ANDROID_NDK_HOME Android 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

Format Tool Required Notes
AppImage appimagetool Default, portable single-file
.deb dpkg-deb Debian/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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages