EAS Submit --latest for iOS returning error


I am currently using a managed React Native workflow, created by the EAS CLI.

My eas-cli version is eas-cli/0.40.0 darwin-x64 node-v14.17.3

The issue is that every time I ran EAS submit to the app store, specifically to TestFlight,

Command line: eas submit -p ios --latest --profile dev

I get this error: Couldn't find any builds for this project on EAS servers. It looks like you haven't run 'eas build' yet.

Of course, I’ve built my application first before running this command to ensure I have the proper working build. I can use the build ID, but my goal is to recreate the same flow using a CI pipeline. Has anyone came across this error before?

are you creating your builds with expo build instead of eas build? if so, see Using EAS Submit with "expo build" - Expo Documentation

Actually I tried it with both. But I’ve been predominantly using the eas build to do my latest builds.

are you using app.config.js to change the slug of your app? are you running eas submit from the same computer signed in as the same user?

Hmm I am using the app.json, but I’m not updating the slug. And yes, I am currently running the eas submit on the same computer using the same account.

can you link to any of the build pages you tried submitting (or share the account name you are building for) ?

For some reason, it just started working now. But now that I think about it, we will most likely stick to using a specific build ID to submit due to the fact that we’ll be potentially using the EAS CLI for multiple applications within the same organization. So not to use with --latest, which could conflict with different app’s builds. Please let me know if there’s a better way.

But thank you for all the help!

you can build with --auto-submit option, if you run that on ci together with --no-wait option cli command will exit after build start, so your ci does no need too run idly while waiting for the build to finish

if you don’t want to submit automatically, you can run build with --json option parse stdout with e.g. jq and use id extracted from json to run submit command

1 Like