NewPlatano

Getting Started with EAS Workflows | React Native CI/CD

Beto, February 8, 2025 · 6,064 views

You'll learn how to get started with EAS Workflows for React Native CI/CD. If you want to automate your build, test, and submission process without managing complex pipelines, this lesson is for you. You'll learn what EAS Workflows are, how they compare to other CI/CD tools, and how to connect your GitHub repo to start running workflows.

You'll see how to create a simple workflow YAML file, trigger jobs on GitHub pushes, and rerun workflows manually from the dashboard or CLI. I also shares tips on configuring monorepos and using GitHub labels to trigger builds. By the end, you'll understand how to streamline your app release process using EAS Workflows.

What's inside

  • Introduction to EAS Workflows and their benefits
  • Connecting your GitHub repository to EAS Workflows
  • Setting up a simple hello world workflow YAML
  • Installing YAML extensions for better editing experience
  • Differences between EAS Workflows and other CI/CD services
  • Triggering workflows via GitHub pushes and manual reruns
  • Using GitHub labels and build triggers in workflows
  • Managing workflow runs and logs from the EAS dashboard

Introduction to EAS Workflows and their benefits

EAS Workflows automate building, testing, and submitting React Native apps in one place. Unlike traditional CI/CD services, EAS Workflows come with prepackaged jobs that handle heavy lifting like building your app or submitting it to stores. This lets you focus on shipping your app instead of configuring pipelines.

Workflows run on EAS infrastructure, integrating seamlessly with Expo services like EAS Build, Submit, and Notifications. You can extend workflows with custom scripts to trigger Slack or Telegram messages for alerts or business logic. This makes EAS Workflows a powerful yet simple solution for React Native CI/CD.

Connecting your GitHub repository to EAS Workflows

To start using EAS Workflows, you first connect your GitHub repo in the EAS dashboard under Configuration. If you use a monorepo, specify the base directory where your app lives (for example, an apps folder). This ensures workflows run in the correct project context.

You can enable build triggers on pushes, updates, or even GitHub labels. Once connected, EAS can automatically trigger jobs based on your repo activity. This setup is straightforward and requires minimal configuration to get started.

Setting up a simple hello world workflow YAML

Workflows are defined in YAML files inside a folder in your project root. I show creating a file with a simple workflow that runs on any push to any branch.

The YAML specifies the workflow name, trigger event (), and jobs with steps. For example, a job named runs a shell command . This minimal example demonstrates how intuitive and easy it is to define workflows.

Installing YAML extensions for better editing experience

To avoid syntax errors and improve editing, I recommend installing a YAML extension in your code editor. This provides syntax highlighting and formatting, helping you write valid YAML files that EAS can parse correctly.

This small step prevents common mistakes and improves productivity when authoring workflows.

Differences between EAS Workflows and other CI/CD services

EAS Workflows differ from generalized CI/CD tools like GitHub Actions or CircleCI by providing prebuilt jobs tailored for React Native and Expo. While other services require you to configure each step manually, EAS Workflows handle building and submitting out of the box.

This reduces setup complexity and lets you focus on app development. However, if you need more custom or generalized pipelines, other CI/CD tools might be more flexible. EAS Workflows strike a balance by simplifying common React Native release tasks.

Triggering workflows via GitHub pushes and manual reruns

Workflows trigger automatically on GitHub pushes based on your YAML configuration. You can also manually rerun workflows from the EAS dashboard or via the CLI using commands like:

This flexibility helps you retry failed jobs or run workflows on demand without pushing code.

Using GitHub labels and build triggers in workflows

EAS supports advanced build triggers such as GitHub labels. You can add a label to a pull request, and that label triggers a specific workflow job. This enables more granular control over when and how builds run, useful for managing different release channels or testing scenarios.

Build triggers can also be configured for updates and other events, making workflows adaptable to your team's processes.

Managing workflow runs and logs from the EAS dashboard

The EAS dashboard provides a clear view of workflow runs, including job status, logs, and runtime details. You can see when jobs start, their duration, and output logs like your custom echo commands.

The dashboard lets you rerun jobs with a click, making it easy to manage CI/CD without leaving your browser. This visibility helps debug issues and track your app release pipeline efficiently.

Resources

CourseReact Native course

Premium resourcePro Membership

Let's connect!

Had a win? Get featured on Code with Beto.Share your story