mirror of
https://github.com/humanlayer/humanlayer.git
synced 2025-08-20 19:01:22 +03:00
131 lines
4.3 KiB
YAML
131 lines
4.3 KiB
YAML
name: Build macOS Release Artifacts
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
release_version:
|
|
description: 'Version tag for the release (defaults to YYYYMMDD)'
|
|
required: false
|
|
type: string
|
|
|
|
permissions:
|
|
contents: write # Needed to create releases
|
|
|
|
jobs:
|
|
build-macos:
|
|
runs-on: macos-latest
|
|
|
|
steps:
|
|
- name: Set release version
|
|
id: version
|
|
run: |
|
|
if [ -z "${{ github.event.inputs.release_version }}" ]; then
|
|
echo "release_version=$(date +%Y%m%d)" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "release_version=${{ github.event.inputs.release_version }}" >> $GITHUB_OUTPUT
|
|
fi
|
|
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: 'hld/go.mod'
|
|
|
|
- name: Setup Bun
|
|
uses: oven-sh/setup-bun@v2
|
|
with:
|
|
bun-version: latest
|
|
|
|
- name: Run repository setup
|
|
run: make setup
|
|
|
|
- name: Install WUI dependencies
|
|
working-directory: humanlayer-wui
|
|
run: bun install
|
|
|
|
- name: Build daemon for macOS ARM
|
|
working-directory: hld
|
|
run: GOOS=darwin GOARCH=arm64 go build -o hld-darwin-arm64 ./cmd/hld
|
|
|
|
- name: Build humanlayer CLI for macOS ARM
|
|
working-directory: hlyr
|
|
run: |
|
|
bun install
|
|
bun run build
|
|
bun build ./dist/index.js --compile --target=bun-darwin-arm64 --outfile=humanlayer-darwin-arm64
|
|
chmod +x humanlayer-darwin-arm64
|
|
|
|
- name: Copy binaries to Tauri resources
|
|
run: |
|
|
mkdir -p humanlayer-wui/src-tauri/bin
|
|
cp hld/hld-darwin-arm64 humanlayer-wui/src-tauri/bin/hld
|
|
cp hlyr/humanlayer-darwin-arm64 humanlayer-wui/src-tauri/bin/humanlayer
|
|
chmod +x humanlayer-wui/src-tauri/bin/hld
|
|
chmod +x humanlayer-wui/src-tauri/bin/humanlayer
|
|
|
|
- name: Build Tauri app (including DMG)
|
|
working-directory: humanlayer-wui
|
|
run: bun run tauri build
|
|
env:
|
|
APPLE_SIGNING_IDENTITY: "-" # Ad-hoc signing to prevent "damaged" error
|
|
|
|
- name: Upload DMG artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: humanlayer-wui-macos-dmg
|
|
path: humanlayer-wui/src-tauri/target/release/bundle/dmg/*.dmg
|
|
if-no-files-found: error
|
|
|
|
- name: Upload daemon artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: hld-darwin-arm64
|
|
path: hld/hld-darwin-arm64
|
|
if-no-files-found: error
|
|
|
|
# Create GitHub Release with artifacts
|
|
- name: Create Release
|
|
if: github.event_name == 'workflow_dispatch'
|
|
id: create_release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
tag_name: ${{ steps.version.outputs.release_version }}
|
|
name: HumanLayer ${{ steps.version.outputs.release_version }} - macOS Release
|
|
body: |
|
|
## HumanLayer ${{ steps.version.outputs.release_version }} - macOS Release
|
|
|
|
This release includes:
|
|
- **CodeLayer** - Desktop application (DMG installer)
|
|
- **HumanLayer Daemon (hld)** - Command-line daemon (ARM64 binary)
|
|
|
|
### Installation Instructions
|
|
|
|
- Install the CLI: `npm install -g humanlayer@0.11.0`
|
|
- Download daemon binary (hld-darwin-arm64)
|
|
- Run it in a terminal e.g. `chmod +x ~/Downloads/hld-darwin-arm64 && ~/Downloads/hld-darwin-arm64`
|
|
- Dismiss the security modal
|
|
- Go to System Settings > Privacy & Security and scroll to the bottom, find the "allow" button and click it
|
|
- Run it again `~/Downloads/hld-darwin-arm64`
|
|
- Download CodeLayer (CodeLayer.dmg)
|
|
- Copy the app to Applications
|
|
- Open CodeLayer with your preferred app launcher
|
|
- Dismiss security modal
|
|
- Go to System Settings > Privacy & Security and allow
|
|
- Open CodeLayer again
|
|
|
|
### Requirements
|
|
- macOS (Apple Silicon/M-series)
|
|
- Node.js installed
|
|
|
|
draft: true
|
|
prerelease: false
|
|
|
|
files: |
|
|
humanlayer-wui/src-tauri/target/release/bundle/dmg/*.dmg
|
|
hld/hld-darwin-arm64
|