Agent Capabilities
Agent Capabilities
Section titled “Agent Capabilities”Each build agent reports its capabilities based on detected software. This determines which builds the agent can execute.
Capability Detection
Section titled “Capability Detection”During registration, the agent detects:
| Capability | How It’s Detected |
|---|---|
| iOS | macOS + xcodebuild -version |
| Android | ANDROID_HOME or Flutter’s Android SDK |
| Web | Always enabled (Flutter can build web) |
iOS Builds
Section titled “iOS Builds”Requirements
Section titled “Requirements”- macOS (any recent version)
- Xcode (14.0+, latest recommended)
- CocoaPods (for dependencies)
# Install Xcode from App Store, then:sudo xcode-select --switch /Applications/Xcode.app/Contents/Developersudo xcodebuild -license accept
# Install command line toolsxcode-select --install
# Install CocoaPodssudo gem install cocoapods
# Verifyxcodebuild -versionflutter doctorWhat’s Detected
Section titled “What’s Detected”Xcode: 15.1 Build version: 15C65Code Signing
Section titled “Code Signing”For deploying to TestFlight/App Store, you’ll need:
- Apple Developer account
- Distribution certificate
- Provisioning profiles
See Code Signing Guide for setup instructions.
Android Builds
Section titled “Android Builds”Requirements
Section titled “Requirements”- Android SDK (command-line tools or Android Studio)
- Java JDK (17+ recommended)
- Gradle (usually bundled with Flutter)
Option 1: Android Studio
# Install Android Studio# Download from: https://developer.android.com/studio
# Accept licensesflutter doctor --android-licensesOption 2: Command-line tools only
# Download command-line tools from:# https://developer.android.com/studio#command-tools
# Extract to ~/Android/cmdline-tools/latest/
# Set environment variablesexport ANDROID_HOME=$HOME/Androidexport PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/binexport PATH=$PATH:$ANDROID_HOME/platform-tools
# Install required componentssdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"
# Accept licensesflutter doctor --android-licensesWhat’s Detected
Section titled “What’s Detected”The agent checks for ANDROID_HOME environment variable or uses Flutter’s detection:
Android SDK: /Users/you/Library/Android/sdk Platform: android-34 Build-tools: 34.0.0Signing Android Builds
Section titled “Signing Android Builds”For Google Play deployment, you’ll need:
- Upload key (keystore file)
- Key password
- Google Play Console service account
See Android Deployment Guide for setup.
Web Builds
Section titled “Web Builds”Requirements
Section titled “Requirements”- Flutter (any version with web support)
- Chrome (for testing, optional)
Web builds work out of the box with Flutter:
# Verify Flutter supports webflutter devices
# Should show:# Chrome • chrome • web-javascript • Google ChromeWhat’s Detected
Section titled “What’s Detected”Web capability is always enabled if Flutter is installed.
Viewing Agent Capabilities
Section titled “Viewing Agent Capabilities”In the CLI
Section titled “In the CLI”flightstack agent listOutput:
My-MacBook-Pro ID: a1b2c3d4-... Status: 🟢 Online Capabilities: iOS, Android, WebIn the FlightStack App
Section titled “In the FlightStack App”- Go to Build Agents
- Click on an agent
- View the Capabilities section
Updating Capabilities
Section titled “Updating Capabilities”If you install new software (e.g., add Xcode to a Linux machine via VM), re-register to update capabilities:
# Re-register to detect new capabilitiesflightstack agent registerPlatform Matrix
Section titled “Platform Matrix”| Agent Platform | iOS | Android | Web |
|---|---|---|---|
| macOS + Xcode | ✅ | ✅ | ✅ |
| macOS (no Xcode) | ❌ | ✅ | ✅ |
| Linux | ❌ | ✅ | ✅ |
| Windows | ❌ | ✅ | ✅ |
Multi-Agent Setup
Section titled “Multi-Agent Setup”For full platform coverage, consider:
| Agent | Platform | Use For |
|---|---|---|
| mac-builder | macOS | iOS builds |
| linux-ci | Linux | Android, Web, tests |
FlightStack automatically routes builds to agents with matching capabilities.
Troubleshooting
Section titled “Troubleshooting”iOS Not Detected
Section titled “iOS Not Detected”# Check Xcode installationxcode-select -p# If not, set it:sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
# Re-register agentflightstack agent registerAndroid Not Detected
Section titled “Android Not Detected”# Check ANDROID_HOMEecho $ANDROID_HOME
# Set if missingexport ANDROID_HOME=$HOME/Library/Android/sdk # macOSexport ANDROID_HOME=$HOME/Android/Sdk # Linux
# Add to your shell profile (.zshrc, .bashrc)echo 'export ANDROID_HOME=$HOME/Library/Android/sdk' >> ~/.zshrc
# Re-register agentflightstack agent registerFlutter Not Found
Section titled “Flutter Not Found”# Check Flutter is in PATHwhich flutter
# Add to PATH if neededexport PATH="$PATH:/path/to/flutter/bin"
# Verifyflutter doctor