LucaWorkflows
LucaWorkflows provides ready-to-use GitHub Actions workflow templates that build, package, and publish Luca-compatible releases from your project.
Supported Languages
Workflow templates are available for:
- Swift — builds a universal macOS binary (arm64 + x86_64) and a static Linux binary, creates a GitHub Release with both archives
- Go — cross-compiles for macOS (arm64/x86_64) and Linux (amd64/arm64), publishes to GitHub Releases
- Rust — uses
crossfor cross-compilation, publishes macOS and Linux binaries - Python — packages with PyInstaller into self-contained executables for macOS and Linux
- C# — publishes self-contained .NET executables for macOS and Linux
- Zig — cross-compiles and packages for macOS and Linux targets
How It Works
Each template:
- Builds your project for the target platforms
- Packages the binary into a
.ziparchive named according to Luca's auto-detection convention (e.g.Mytool-macOS.zip,Mytool-Linux.zip) - Creates a GitHub Release and uploads the archives
- Optionally computes and publishes SHA-256 checksums alongside the archives
Once your tool is published via one of these templates, any team can install it with a single Lucafile entry:
yaml
tools:
- name: MyTool
version: 1.0.0
url: https://github.com/myorg/mytool/releases/download/1.0.0/MyTool-macOS.zip
binaryPath: mytool
checksum: abc123...
algorithm: sha256Getting Started
Copy the workflow template for your language from the LucaWorkflows repository into your project's .github/workflows/ directory and adjust the configuration variables at the top of the file.