Codemagic CodePush Setup
Set up and maintain OTA update delivery for React Native apps through Codemagic-hosted CodePush (https://codepush.pro) across iOS and Android.
Expected Output
Produce an implementation plan and then concrete edits/commands that include:
- Native and JS integration steps for each requested platform.
- Copy-paste snippets for exact files (
Info.plist,strings.xml,AppDelegate,MainApplication.kt,codemagic.yaml). - CodePush app/deployment commands and how to retrieve deployment keys.
- A release, verification, and rollback path.
Workflow
- Confirm scope and prerequisites.
- Configure React Native client integration (JS + native).
- Configure Codemagic CI and CodePush CLI auth.
- Create platform apps/deployments and wire deployment keys.
- Release to
Staging, verify, then promote toProduction. - Troubleshoot or rollback if verification fails.
Step 1: Confirm Scope And Prerequisites
Do the following first:
- Confirm the project is React Native (pure Expo managed workflow is not supported by the plugin setup).
- Confirm Codemagic has provisioned a CodePush access token for the team.
- Confirm whether the user wants setup for both platforms or only one.
- Use separate CodePush app names per platform (for example
MyApp-iOS,MyApp-Android).
If prerequisites are missing, stop and list what is needed.
Step 2: Configure React Native Client Integration
- Install plugin dependency:
yarn add @code-push-next/react-native-code-push
- Wrap the app root component:
import codePush from "@code-push-next/react-native-code-push";export default codePush(App);
- Apply platform-native wiring:
- iOS details: references/setup-ios.md
- Android details: references/setup-android.md
Always set both server URL and deployment key in native config:
- iOS
Info.plistkeys:CodePushServerURL,CodePushDeploymentKey - Android
strings.xmlkeys:CodePushServerUrl,CodePushDeploymentKey
Step 3: Configure Codemagic CI + CLI
Follow references/codepush-releases-codemagic-ci.md and references/codepush-cli.md to ensure:
@codemagic/code-push-cliis installed in workflow scripts.- Login uses Codemagic server URL and token from environment variables.
- Release commands target explicit platform app names and deployment channels.
Use https://github.com/codemagic-ci-cd/code-push-pro for CLI reference and ensure all commands align with the current CLI behavior, calling out any discrepancies from project docs.
Step 4: Verify End-To-End
Follow references/verification-and-troubleshooting.md:
- Release to
Stagingfirst. - Validate update delivery and metrics.
- Promote from
StagingtoProductiononly after validation.
Execution Rules
- Prefer exact file edits and commands over abstract guidance.
- Keep platform differences explicit; never merge iOS and Android deployment keys.
- Use long-form CLI flags when ambiguity exists (for example
--targetBinaryVersion). - If a command in project docs differs from CLI docs, call out the difference and choose the current CLI behavior.