I’ve been working with EAS for the first time on my current project and am a little fuzzy on how best to use OTAs with EAS Build.
Relevant context on my project:
- we have an
app.config.jsfile that reads various values from
manifest.extra. Locally, these values are populated from a
.envfile. In builds, we store values in our Expo account, as secrets.
- we’ve been testing our work with an internal distribution profile
I may have misunderstood something, but from what I can tell.
- on creating a build, e.g. running
eas build, the app’s configuration comes from our secrets stored in our account
- on publishing an OTA to our build’s release channel, the app’s configuration comes from whatever configuration is local to the machine on which the publish command was run e.g. whatever happens to be in my
.envfile at the time.
- on installing this update, the build e.g. as running on my phone, loses any secrets received from EAS Build, instead using the config in the update from my machine
Assuming some / all of this is correct, I’m concerned about keeping app configuration in sync between EAS Build and OTAs. As in, when I publish to release channel A, I want the published update to be configured the same as if it were released via
eas build. It seems really easy to accidentally misconfigure builds based on local configuration.
Do you have any recommendations / strategies for approaching this?