Uploading
What Uploading Is For
Use the upload command when you want to publish a new OTA bundle to a specific channel.
It handles the normal release packaging flow in one command:
- build the JavaScript bundle
- package the update for the selected platform
- upload it to Bundle Drop
- attach it to the channel you choose
- make it available to compatible app installs
Basic Upload Commands
Terminal
npx bundle-drop upload android --version 1.2.3 --channel General
npx bundle-drop upload ios --plist-file ios/Info.plist --channel GeneralUpload Flags Explained
--channel <name>chooses the release track to publish to, such asGeneral,Beta, orQA--version <version>provides the app version directly--plist-file <path>lets iOS read version info fromInfo.plist--buildgradle-path <path>lets Android read version info frombuild.gradle--runtimeVersion <v>overrides the runtime version from config when you need to publish against a specific compatibility line--release-notes "<text>"attaches release notes to the uploaded bundle--author <name>overrides the author name stored with the bundle--sourcemapgenerates a Metro source map alongside the bundle for error tracking tools--artifact-dir <path>copies the bundle, source map, and result JSON to a CI-controlled directory before cleanup
What Upload Needs
bundle.drop.config.jswithserverUrl,org.slug, andproject.slugruntimeVersionfor the platform you are uploading, unless you pass--runtimeVersion- authentication from either
bundle-drop loginor a token-based flow
If you are not sure when runtimeVersion should change, see Runtime Version.
What Happens After Upload
Every upload becomes a versioned OTA bundle in Bundle Drop. The bundle is validated, assigned a stable update hash, and attached to the channel you selected.
After upload, Bundle Drop may calculate optimized delivery paths and update-size estimates in the background. Eligible app installs can still receive the full update while that work completes, and the dashboard may briefly show calculated update size as pending.
After Upload
After the bundle is uploaded, you can:
- keep it live for the whole channel
- control adoption with Staged Rollouts
- revert it later with Rollback
- monitor bundle size and calculated update size in the Bundle Drop dashboard
