Uploading
What Uploading Is For
The upload command builds and packages a platform bundle, publishes it to a channel, and makes it available to compatible installs. Delivery still follows the channel's managed publishing, rollout, and runtime-version rules.
Expo Uploads
Expo projects resolve app and runtime identity from project configuration:
npx bundle-drop upload ios --channel develop
npx bundle-drop upload android --channel developThe default literal runtime mode needs no build receipt. If the project opts into strict Expo fingerprint authority, upload must match the built identity and may use --build-receipt <path>. See Expo.
Bare React Native Uploads
Bare projects can provide an explicit app version or let the CLI read a native version file:
npx bundle-drop upload android --version 1.2.3 --channel develop
npx bundle-drop upload android --buildgradle-path android/app/build.gradle --channel develop
npx bundle-drop upload ios --plist-file ios/MyApp/Info.plist --channel developNew projects start with a channel named develop. The --channel value must name an existing project channel; uploads do not create channels automatically.
Upload Options
--channel <name>chooses the required release track, such asdevelop,beta, orproduction.--version <version>provides the bare app version directly.--plist-file <path>reads bare iOS version information fromInfo.plist.--buildgradle-path <path>reads bare Android version information from Gradle.--release-notes "<text>"attaches release notes.--author <name>overrides the stored author name.--sourcemapgenerates a Metro source map for error tracking.--token <pat>authenticates non-interactively in CI/CD.--artifact-dir <path>copies the bundle, source map, and result JSON to a CI-controlled directory.--build-receipt <path>supplies an exact receipt for strict Expo runtime authority.
What Upload Needs
bundle.drop.config.jswith the generated server, organization, and project values- a runtime version for the target platform
- authentication from
bundle-drop loginor--token - for strict Expo authority, a receipt matching the exact native build identity
See Runtime Version before publishing after a native change.
What Happens After Upload
Every upload becomes a versioned OTA bundle attached to the selected channel. Bundle Drop validates the bundle and assigns a stable update hash.
Optimized patch delivery and update-size estimates are prepared after upload. Eligible installs can use the full bundle while that work completes. If patching would not be efficient, Bundle Drop deliberately uses the full bundle and reports that outcome instead of presenting a missing size.
If the same bundle already exists in the project, the CLI asks you to promote that existing bundle rather than uploading duplicate content.
Next Steps
- Control eligibility with Managed Publishing.
- Release gradually with Staged Rollouts.
- Revert a release with Rollback.
- Connect source maps through Observability.
