File: automating-eas-cli.md | Updated: 11/15/2025
Hide navigation
Search
Ctrl K
Home Guides EAS Reference Learn
Archive Expo Snack Discord and Forums Newsletter
Copy page
Learn how to automate sequences of EAS CLI commands with EAS Workflows.
Copy page
If you're using EAS CLI to build, submit, and update your app, you can automate sequences of commands with EAS Workflows. EAS Workflows can build, submit, and update your app, while also running other jobs like Maestro tests, unit tests, custom scripts, and more.
Below you'll find how to set up your project to use EAS Workflows, followed by common examples of EAS CLI commands and how you can run them using EAS Workflows.
EAS Workflows optionally supports a GitHub repository that's linked to your EAS project to run. This guide assumes a GitHub repository is linked, and shows how to trigger workflows when pushing to specific branches on GitHub. You can link a GitHub repo to your EAS project with the following steps:
You can make a build of your project using EAS CLI with the eas build command. To make an iOS build with the production build profile, you could run the following EAS CLI command:
Terminal
Copy
- eas build --platform ios --profile production
To write this command as a workflow, create a workflow file named .eas/workflows/build-ios-production.yml at the root of your project.
Inside build-ios-production.yml, you can use the following workflow to kick off a job that creates an iOS build with the production build profile.
.eas/workflows/build-ios-production.yml
Copy
name: iOS production build on: push: branches: ['main'] jobs: build_ios: name: Build iOS type: build params: platform: ios profile: production
Once you have this workflow file, you can kick it off by pushing a commit to the main branch, or by running the following EAS CLI command:
Terminal
Copy
- eas workflow:run build-ios-production.yml
You can provide parameters to make Android builds or use other build profiles. Learn more about build job parameters with the build job documentation .
You can submit your app to the app stores using EAS CLI with the eas submit command. To submit an iOS app, you could run the following EAS CLI command:
Terminal
Copy
- eas submit --platform ios
To write this command as a workflow, create a workflow file named .eas/workflows/submit-ios.yml at the root of your project.
Inside submit-ios.yml, you can use the following workflow to kick off a job that submits an iOS app.
.eas/workflows/submit-ios.yml
Copy
name: Submit iOS app on: push: branches: ['main'] jobs: submit_ios: name: Submit iOS type: submit params: platform: ios
Once you have this workflow file, you can kick it off by pushing a commit to the main branch, or by running the following EAS CLI command:
Terminal
Copy
- eas workflow:run submit-ios.yml
You can provide parameters to submit other platforms or use other submit profiles. Learn more about submit job parameters with the submit job documentation .
You can update your app using EAS CLI with the eas update command. To update your app, you could run the following EAS CLI command:
Terminal
Copy
- eas update --auto
To write this command as a workflow, create a workflow file named .eas/workflows/publish-update.yml at the root of your project.
Inside publish-update.yml, you can use the following workflow to kick off a job that sends and over-the-air update.
.eas/workflows/publish-update.yml
Copy
name: Publish update on: push: branches: ['*'] jobs: update: name: Update type: update params: branch: ${{ github.ref_name || 'test'}}
Once you have this workflow file, you can kick it off by pushing a commit to any branch, or by running the following EAS CLI command:
Terminal
Copy
- eas workflow:run publish-update.yml
You can provide parameters to update specific branches or channels, and configure the update's message. Learn more about update job parameters with the update job documentation .
Workflows are a powerful way to automate your development and release processes. Learn how to create development builds, publish preview updates, and create production builds with the workflows examples guide: