How to handle preview vs. production in with `eas-updates`?

This is more of a general question I could not figure out yet.

I’ve set up eas updates and want to use TestFlight and Google Play Console Internal Testing for beta testing.

For this, I do the following:

  1. Create a build: eas build -p all --profile=preview
  2. Submit to TestFlight and Google Play Console (eas submit -p all)
  3. Make changes to the project (using the preview git branch)
  4. Publish changes via eas-update (eas update --auto)

Now the changes are published to the build with the channel id preview baked in, right?
If I would now promote this build within App Store Connect and Google Play Console to the production track, it would have the wrong channel id inside getting eas updates from the wrong channel.

  • Do I need to create separate builds for each channel?
  • Am I missing something here? :thinking:

Using managed workflow
Using npx eas-cli

check out the branch promotion flow here: Deployment patterns - Expo Documentation

you could modify this so that rather than using a build on testflight with a specific channel like “staging” it could just be “production” and use a new runtime version every time to submit a build.

1 Like