This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
Troubleshoot EAS Workflows
Edit page
Learn how to diagnose and fix common issues when running EAS Workflows.
This page lists common EAS Workflows failure modes and how to fix them. If a workflow doesn't start or a job fails, start with the workflow run's detail page on your project's workflows page. It shows each job's status, logs, and errors.
Validate the workflow file
Check a workflow file for YAML syntax and schema errors before running it:
- eas workflow:validate .eas/workflows/my-workflow.ymlThe Expo Tools VS Code extension also provides descriptions and autocompletion for workflow files as you edit them.
Workflow doesn't start on GitHub events
If a workflow with an on trigger never starts, check the following:
- GitHub connection: triggers such as
push,pull_request, andref_deleterequire your EAS project to be linked to a GitHub repository. - Workflow file location and ref: the file must be inside the .eas/workflows directory. For
pushandpull_requestevents, EAS reads the workflow file from the triggering commit, so the file must exist on that branch. Forscheduleandref_deleteevents, EAS reads the workflow file from the default branch. - Trigger filters:
branches,tags,paths,types, andlabelsfilters must match the event. For example,on.push.branches: ['main']ignores pushes to every other branch. - Commit message skip markers: runs triggered by
pushandpull_requestevents are skipped when the commit message contains[eas skip],[skip eas], or[no eas]. - Scheduled workflows:
on.scheduleworkflows only run from the repository's default branch, run in the GMT time zone, and may be delayed during periods of high load.
Build job fails with "Missing build profile in eas.json"
Pre-packaged build jobs require the build profile they use to exist in your project's eas.json. Build jobs use the production profile unless the job's params.profile says otherwise, so an empty or missing eas.json fails with this error.
Add the profile to eas.json, or run eas build:configure to generate the file with default profiles. Builds also need app signing credentials for each platform. Completing one build with EAS CLI using the same platform and profile sets up both. See create your first build.
Environment variable is empty or missing
EAS environment variables are scoped to an environment: production, preview, or development. A job only sees variables from the environment set by its environment key, which defaults to production. If a variable is empty in a job, confirm the variable exists in the environment the job uses, or set the job's environment to match where the variable is defined.
Also note that the env key is not available on the apple-device-registration-request, branch-delete, doc, get-build, github-comment, require-approval, and slack jobs.
More help
If you're still stuck, email workflows@expo.dev with your workflow file and a link to the failing run, or ask in the Expo Discord.