Expo
Zero-config fallback
If eas.json is present and no buildtree.config.json exists, the CLI runs eas build --local --platform <platform> automatically.
buildtree publish ios --env dev
buildtree publish android --env dev
The fallback uses your default EAS profile.
Custom configuration
Override the defaults with buildtree.config.json:
{
"buildtree": {
"builds": {
"ios": {
"command": "eas build --local --platform ios --profile preview",
"artifact": "build-*.ipa"
},
"android": {
"command": "eas build --local --platform android --profile preview",
"artifact": "build-*.apk"
}
}
}
}
The CLI selects the most recent file matching the glob.
iOS provisioning
eas build --local uses EAS-managed credentials. For ad-hoc distribution, the provisioning profile must include every tester's UDID. See iOS distribution.
After adding new UDIDs in Apple Developer, run eas credentials to regenerate the profile.
Parallel branch installs
Feature-branch builds that share a bundle id overwrite each other on a test device. For side-by-side installs, use variant bundle ids per profile:
{
"build": {
"preview": {
"ios": {
"bundleIdentifier": "com.acme.app.preview"
}
}
}
}