Upgrade to EAS Workflows

Edit this page

Learn how to upgrade your development and release processes to use EAS Workflows.


If you're using EAS CLI to build, submit, and update your app, you can upgrade to EAS Workflows to automate your development and release processes. 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 to convert them to EAS Workflows.

Configure your project

EAS Workflows require a GitHub repository that's linked to your EAS project to run. You can link a GitHub repo to your EAS project with the following steps:

  • Navigate to your project's GitHub settings.
  • Follow the UI to install the GitHub app.
  • Select the GitHub repository that matches the Expo project and connect it.

EAS Build

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'd run the following EAS CLI command:

Terminal
eas build --platform ios --profile production

To convert this into 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
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 command:

Terminal
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.

EAS Submit

You can submit your app to the app stores using EAS CLI with the eas submit command. To submit an iOS app, you'd run the following EAS CLI command:

Terminal
eas submit --platform ios

To convert this into 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
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 command:

Terminal
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.

EAS Update

You can update your app using EAS CLI with the eas update command. To update your app, you'd run the following EAS CLI command:

Terminal
eas update --auto

To convert this into 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
name: Publish update

on:
  push:
    branches: ['*']

jobs:
  update:
    name: Update
    type: update
    params:
      branch: ${{ github.ref || 'test'}}

Once you have this workflow file, you can kick it off by pushing a commit to any branch, or by running the following command:

Terminal
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.

Next step

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:

Workflow examples

Learn how to use workflows to create development builds, publish preview updates, and create production builds.