expo / expo/eas-cli

Support for Maestro E2E Tests with New Android Builds Infrastructure

Open
#2,796 2 comments 0 reactions 0 assignees View on GitHub
eas build needs review
Dominant language
TypeScript
Stars
1.4k
Forks
236
Avg merge
3d 1h
Merged PRs (30d)
91

Description

### Build/Submit details page URL

https://expo.dev/accounts/hashtagbe/projects/componentslib-staging/builds/6a70f1f1-e1a4-4869-bd1c-2a41a5f5980a

### Summary

I’m using EAS Build to run Maestro-based E2E tests (following the [official guide](https://docs.expo.dev/build-reference/e2e-tests/)) and discovered that it currently requires disabling the New Android Builds Infrastructure in Project Settings to enable virtualization for the Android emulator.

However, disabling the new infrastructure might impact my main production pipeline, which I’d prefer to keep on the latest build system.

- Is support for the new build infrastructure on the roadmap?
- If I disable it for E2E tests, do I need to maintain two separate pipelines—one for tests (old infra) and one for production (new infra)?
- Is there any known timeline or workaround to keep everything on the new build infrastructure without losing the ability to run E2E tests?

I love what you’re doing with EAS CLI. This feature would be a huge help for end-to-end test automation workflows!

Thanks in advance for any info or guidance you can provide.

### Managed or bare?

managed workflow

### Environment

npx expo-env-info:
```
expo-env-info 1.2.1 environment info:
System:
OS: Linux 5.15 Ubuntu 22.04.5 LTS 22.04.5 LTS (Jammy Jellyfish)
Shell: 5.8.1 - /usr/bin/zsh
Binaries:
Node: 18.20.5 - ~/.nvm/versions/node/v18.20.5/bin/node
Yarn: 1.22.22 - /usr/bin/yarn
npm: 10.8.2 - ~/.nvm/versions/node/v18.20.5/bin/npm
IDEs:
Android Studio: AI-242.23339.11.2421.12700392
npmPackages:
expo: ~52.0.18 => 52.0.18
react: 18.3.1 => 18.3.1
react-dom: 18.3.1 => 18.3.1
react-native: 0.76.5 => 0.76.5
npmGlobalPackages:
eas-cli: 14.2.0
Expo Workflow: bare
```

### Error output

`Failed to configure emulator: emulator with required ID not found.
`
### Reproducible demo or steps to reproduce from a blank project

My build-and-maestro-test.yml:
```
build:
name: Build and Run Maestro Tests
steps:
- eas/build
- eas/maestro_test:
inputs:
flow_path: |
.maestro/login/loginWithEmailFlow.yaml
.maestro/login/updateUserFlow.yaml
.maestro/login/logout.yaml

```

My build settings:
```
"build-and-maestro-test": {
"channel": "sdk52",
"config": "build-and-maestro-test.yml",
"android": {
"buildType": "apk",
"image": "latest",
"resourceClass": "large"
},
"ios": {
"simulator": true,
"image": "latest"
}
}
```
The command that I run: eas build --profile build-and-maestro-test

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.