mirror of
https://github.com/humanlayer/humanlayer.git
synced 2025-08-20 19:01:22 +03:00
* feat: Add GitHub Actions workflow for macOS release builds - Create workflow_dispatch triggered workflow to build Tauri WUI and hld daemon - Builds macOS ARM binaries and DMG installer - Uploads artifacts for manual release creation - Includes temporary push trigger for testing on feature branch - Add comprehensive usage documentation with testing instructions * feat: Add GitHub Release creation to workflow - Automatically create draft GitHub Release when triggered via workflow_dispatch - Attach DMG, daemon binary, and install instructions to release - Update documentation to reflect automatic release creation - Release created in draft mode for review before publishing * fix: Remove temporary push trigger from workflow - Workflow now only runs via workflow_dispatch - Ready for production use with gh CLI or GitHub UI * fix: Add permissions and update to modern release action - Add contents: write permission for creating releases - Switch from deprecated actions/create-release to softprops/action-gh-release@v2 - Simplify release asset uploads with glob pattern - Fix authentication issues when creating releases * fix: Add ad-hoc signing to prevent macOS damaged app error - Set APPLE_SIGNING_IDENTITY='-' for ad-hoc signing - Update installation instructions for right-click opening - Add troubleshooting guide for security warnings - Document xattr workaround as fallback * fix: Improve installation instructions and embed in release notes - Remove separate INSTALL.md file - Put all instructions directly in GitHub Release notes - Fix security approval steps based on real user testing - Add clear security notice at the top with emoji - Improve step-by-step flow for System Settings approval
3.2 KiB
3.2 KiB
macOS Release Workflow Usage Guide
Testing the Workflow (Before Merging)
The workflow has a temporary push trigger for testing on the add-macos-release-workflow branch. This allows testing before merging to main.
Using gh CLI:
# After pushing changes to the branch
gh workflow run release-macos.yml --ref add-macos-release-workflow -f release_version=v0.1.0-test
# Check workflow status
gh run list --workflow=release-macos.yml
# Watch a specific run
gh run watch
Important: Remove the push trigger before merging!
The push: trigger in the workflow file is temporary and must be removed before creating the PR.
Prerequisites
- Push access to the repository
- Release version decided (e.g., v0.1.0)
Triggering a Release Build
- Go to the Actions tab in GitHub
- Select "Build macOS Release Artifacts" from the left sidebar
- Click "Run workflow" button on the right
- Enter the version tag (e.g.,
v0.1.0) - Click the green "Run workflow" button
Monitoring the Build
- Click on the running workflow to see progress
- Build typically takes 10-15 minutes
- Check each step for any errors
Workflow Results
After successful completion:
For Push Triggers (Testing Only)
- Artifacts are uploaded to GitHub Actions
- Download from the "Artifacts" section at the bottom of the workflow run
- Three artifacts available:
humanlayer-wui-macos-dmg- The WUI application installerhld-darwin-arm64- The daemon binaryINSTALL- Installation instructions
For Manual Triggers (workflow_dispatch)
- A draft GitHub Release is automatically created
- All artifacts are attached to the release
- Release includes pre-formatted description and installation instructions
- Go to Releases page to review and publish the draft
Publishing the Release
When triggered via workflow_dispatch:
- Go to Releases page
- Find the draft release with your version tag
- Review the auto-generated release notes
- Edit if needed (add changelog, known issues, etc.)
- Click "Publish release" to make it public
Updating for New npm Versions
When the npm package version changes:
- Edit
.github/workflows/release-macos.yml - Find the line
npm install -g humanlayer@0.10.0 - Update to the new version
- Commit and push the change
Troubleshooting
Build Failures
- Rust/Cargo errors: Check if Rust dependencies changed
- Go build errors: Verify Go version matches
hld/go.mod - Bun/npm errors: Clear caches with
bun install --force
Artifact Issues
- Missing DMG: Check Tauri build logs for errors
- Missing daemon: Verify Go cross-compilation settings
- Wrong architecture: Ensure
GOARCH=arm64is set
macOS Security Issues
The workflow uses ad-hoc signing to prevent "damaged app" errors on Apple Silicon. However, users will still see security warnings.
For "app is damaged" errors:
- The workflow should prevent this with ad-hoc signing
- If it still occurs, users can run:
xattr -cr /Applications/humanlayer-wui.app
For security warnings:
- This is expected for unsigned apps
- Users must right-click and select "Open" for first launch
- Or approve in System Settings > Privacy & Security