Upload a build
Upload the app binary a mobile run will install.
Builds belong to a mobile project. Every run selects a specific build, so its results remain tied to the binary that was tested.
Supported files
| Platform | Upload |
|---|---|
| iOS Simulator | A .zip containing the .app bundle. |
| Android | An .apk. |
Device .ipa files and Android .aab bundles are not supported. Build for the iOS Simulator or export an Android APK instead.
Operio reads the app ID, version, and build number from the binary.
From the web app
Open Builds → Upload build in a mobile project. Add the binary, optionally name it, and save. Select that build when you start a test or suite.
From the CLI
After installing and signing in:
operio projects use <mobile-project-id>
operio builds upload --file ./build/MyApp.apk --name "Nightly"
operio builds listThe upload command stores and registers the binary. Its JSON response includes the build id; the name defaults to the app name in the binary. Uploads can take up to 30 minutes before timing out.
In CI, pass the returned ID to the suite run. This example requires jq, with APK and SUITE_ID set:
set -e
BUILD_ID="$(operio --output json builds upload --file "$APK" | jq -er '.id')"
operio suites run "$SUITE_ID" --build-id "$BUILD_ID" --waitUse operio builds get <build-id> to inspect a registered build.
From the API
One request stores and registers the binary. Authenticate with a personal API token:
curl -X POST "https://api.operio.run/v1/projects/$PROJECT_ID/mobile-builds/upload" \
-H "Authorization: Bearer $OPERIO_TOKEN" \
-F "file=@./build/MyApp.apk" \
-F "name=Nightly"name is optional and defaults to the app name in the binary. The response is the build, wrapped as { "payload": ... }; pass payload.id to a run. See Upload a new build.