Promoting Updates
Copy a release from one deployment to another (e.g., Staging → Production):
npx turbopush promote <appSlug> <sourceDeploymentName> <destDeploymentName>
[--description <description>]
[--label <label>]
[--disabled <disabled>]
[--mandatory]
[--noDuplicateReleaseError]
[--rollout <rolloutPercentage>]
[--targetBinaryVersion <targetBinaryVersion>]
Why Promote?
- Faster — No need to reassemble release assets
- Safer — Exact same code you tested gets deployed
Recommended workflow: Release to Staging → Test → Promote to Production
Example
# Promote to production for all binary versions
npx turbopush promote myapp-ios Staging Production -t "*"
Parameters
| Parameter | Required | Default | Description |
|---|---|---|---|
appSlug | Yes | - | The app slug |
sourceDeploymentName | Yes | - | Source deployment (e.g., Staging) |
destDeploymentName | Yes | - | Destination deployment (e.g., Production) |
--label, -l | No | latest | Specific release to promote |
--description, --des | No | inherited | Change log |
--disabled, -x | No | inherited | Prevent downloads |
--mandatory, -m | No | inherited | Force update |
--rollout, -r | No | 100 | % of users (not inherited, must be explicit) |
--targetBinaryVersion, -t | No | inherited | Compatible binary versions |
--noDuplicateReleaseError | No | false | Warn instead of error on duplicate |
Optional parameters override values from the source release. If omitted, values are inherited.