Native App Builds
Hyperscape supports native desktop and mobile apps via Tauri, providing native performance and offline capabilities.Native app builds are automatically triggered on tagged releases (
v*) and can be manually triggered via GitHub Actions workflow dispatch.Supported Platforms
Automated Builds
Triggering a Release Build
Create and push a version tag to trigger automated builds for all platforms:build-app.yml workflow which:
- Builds for all 6 platforms (Windows, macOS ARM, macOS Intel, Linux, iOS, Android)
- Signs binaries with platform-specific certificates (if secrets configured)
- Creates a GitHub Release with all artifacts
- Generates SHA256 checksums for verification
Manual Workflow Dispatch
You can manually trigger builds via GitHub Actions:- Go to Actions → Build Native Apps
- Click Run workflow
- Select options:
- Platform:
all,windows,macos,linux,ios, orandroid - Environment:
productionorstaging - Release tag: Optional (e.g.,
v1.0.0or1.0.0) - Draft release: Create as draft for review before publishing
- Platform:
Build Environments
The workflow supports two environments with different API endpoints:Production (default)
Staging
- Pushing to
stagingbranch - Manually selecting
stagingenvironment in workflow dispatch
Required Secrets
Desktop Signing (macOS)
For signed macOS releases, configure these secrets in GitHub repository settings:
Generating Apple Certificate:
Desktop Signing (Windows)
Mobile Signing (iOS)
Mobile Signing (Android)
Generating Android Keystore:
Tauri Updater
Generating Tauri Keys:
General Secrets
Build Process
Desktop Builds
Desktop builds run on platform-specific runners:- Install platform dependencies (Linux: webkit2gtk, GTK3, etc.)
- Install Bun and Rust toolchain
- Build shared package (core engine)
- Build client (Vite production build)
- Build Tauri app with platform-specific bundler
- Sign binaries (if release build with secrets)
- Upload artifacts to GitHub
iOS Builds
iOS builds require Xcode and Apple Developer account: Build Steps:- Setup Xcode (latest stable)
- Install Rust targets:
aarch64-apple-ios,aarch64-apple-ios-sim - Initialize iOS project:
bun run ios:init - Build with Tauri:
bun tauri ios build --export-method app-store-connect - Sign with provisioning profile
- Export
.ipafor App Store submission
app-store-connect: For App Store submissionad-hoc: For internal testingdevelopment: For development devices
Android Builds
Android builds require Android SDK and NDK: Build Steps:- Setup Java 17 (Temurin distribution)
- Install Android SDK and NDK 27.0.12077973
- Install Rust targets:
aarch64-linux-android,armv7-linux-androideabi,i686-linux-android,x86_64-linux-android - Initialize Android project:
bun run android:init - Build with Tauri:
bun tauri android build - Sign with keystore (if configured)
- Export
.apk(sideload) and.aab(Play Store)
Local Development
Desktop
iOS
Android
Build Artifacts
Desktop Artifacts
Windows:hyperscape_X.Y.Z_x64_en-US.msi- MSI installerhyperscape_X.Y.Z_x64-setup.exe- NSIS installerhyperscape_X.Y.Z_x64-setup.exe.sig- Tauri updater signature
hyperscape_X.Y.Z_aarch64.dmg- Apple Silicon disk imagehyperscape_X.Y.Z_x64.dmg- Intel disk imagehyperscape.app.tar.gz- App bundle (for updater)hyperscape.app.tar.gz.sig- Tauri updater signature
hyperscape_X.Y.Z_amd64.AppImage- Universal Linux binaryhyperscape_X.Y.Z_amd64.deb- Debian packagehyperscape-X.Y.Z-1.x86_64.rpm- RPM package
Mobile Artifacts
iOS:hyperscape.ipa- iOS app package (App Store submission)
app-release.apk- APK for sideloadingapp-release.aab- Android App Bundle (Play Store submission)
Release Process
1. Prepare Release
2. Create Tag
3. Monitor Build
- Go to Actions → Build Native Apps
- Watch the workflow run
- Verify all platform builds succeed
- Check artifacts are uploaded
4. Publish Release
The workflow automatically creates a GitHub Release with:- All platform artifacts
- SHA256 checksums (
SHA256SUMS.txt) - Auto-generated release notes from commits
- Draft status (if configured)
- Go to Releases → Find your draft release
- Review artifacts and release notes
- Click Publish release
Distribution
Desktop
Download Portal: https://hyperscapeai.github.io/hyperscape/ Direct Downloads: https://github.com/HyperscapeAI/hyperscape/releasesMobile
iOS:- Submit
.ipato App Store Connect - Use Xcode or Transporter app
- Submit
.aabto Google Play Console - Or distribute
.apkfor sideloading
Troubleshooting
Build Fails on macOS
Symptom: Xcode build errors or signing failures Solutions:- Ensure Xcode is installed:
xcode-select --install - Accept Xcode license:
sudo xcodebuild -license accept - Verify signing identity:
security find-identity -v -p codesigning
Build Fails on Windows
Symptom: Missing Visual Studio build tools Solution: Install Visual Studio Build Tools with C++ workload:Build Fails on Linux
Symptom: Missing webkit2gtk or GTK dependencies Solution: Install required libraries:iOS Build Fails with Provisioning Profile Error
Symptom: “No matching provisioning profile found” Solutions:- Verify provisioning profile is valid and not expired
- Ensure bundle ID matches profile
- Check Apple Developer account status
- Re-download provisioning profile from Apple Developer portal
Android Build Fails with NDK Error
Symptom: “NDK not found” or “No toolchains found” Solution: Install correct NDK version:Unsigned Builds
If signing secrets are not configured, builds will be unsigned:- Desktop: Builds succeed but show “unverified developer” warnings
- iOS: Cannot install on devices (requires signing)
- Android: Can sideload unsigned APK (not for Play Store)
Build Configuration
Tauri Config
Desktop and mobile builds use separate Tauri config files:packages/app/src-tauri/tauri.conf.json- Desktop configpackages/app/src-tauri/tauri.ios.conf.json- iOS overridespackages/app/src-tauri/tauri.android.conf.json- Android overrides
App Metadata
Update app metadata intauri.conf.json:
Build Targets
Control which platforms are built:Continuous Deployment
Workflow Triggers
The build workflow runs on:- Push to main/staging/hackathon - Builds all platforms (no release)
- Push tag
v*- Builds all platforms and creates GitHub Release - Workflow dispatch - Manual trigger with platform/environment selection
- Path filters - Only runs when relevant files change:
packages/app/**packages/client/**packages/shared/**.github/workflows/build-app.yml
Concurrency Control
Updater Integration
Tauri includes an auto-updater for desktop apps: Update Manifest:Related Documentation
- Mobile Development - Mobile-specific development guide
- Deployment - Web deployment (Cloudflare, Railway)
- Configuration - Environment variables and secrets