Skip to content

test: E2E tests for Android#427

Open
DanielPotorCK wants to merge 23 commits into
callstack:e2e-for-androidfrom
DanielPotorCK:e2e-for-android
Open

test: E2E tests for Android#427
DanielPotorCK wants to merge 23 commits into
callstack:e2e-for-androidfrom
DanielPotorCK:e2e-for-android

Conversation

@DanielPotorCK

Copy link
Copy Markdown

Summary

Test plan

artus9033 and others added 23 commits June 30, 2026 15:02
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* feat: add initial Expo 56 support

* refactor: inherit Expo native floors from app project

* fix: stabilize RNApp brownfield test apps

* chore: refresh lockfile for Expo peer range

* fix: avoid duplicating iOS brownfield targets

* feat: stabilize Expo 56 support matrix

* fix: restore gradle plugin string extension import

* fix: align android expo CI artifact checks

* fix: support expo android maven artifact naming

* fix: support Expo 55/56 iOS packaging

* fix: normalize Expo prebuilt iOS flags in CI

* fix: normalize Expo iOS search paths in CI

* fix: disable Expo release swift interface verification

* fix: stabilize Expo and bare RN example builds

* fix: address expo 56 PR review feedback

* fix: tighten expo 56 android support changes

* refactor: drop custom iOS packaging path from expo 56 PR

* fix: restore expo56 CI coverage

* fix: stabilize expo 55 and 56 native support

* fix: restore brownfield-navigation formatting

* fix: align AppleApp Expo 56 e2e entrypoint

* fix: invalidate brownfield-navigation build cache

* ci: drop Expo 54 road tests

* fix: avoid AppleApp Detox RN reloads

* fix: harden Expo Android brownfield publishing

* fix: stabilize Android Expo road tests

* fix: stabilize AppleApp Expo 56 Detox flow

* fix: repair android road test CI

* fix(ci): harden expo road test checks

* fix: align expo android hermes runtime

* refactor: remove not required code

* revert: navigation

* revert: navigation

* revert: navigation

* refactor: unused code

* refactor: remove unused code

* refactor: remove unused code

* refactor: cleanup

* feat: add prebuilt expo modules emit support

* refactor: cleanup

* refactor: cleanup

* refactor: cleanup

* feat: add support to emit swift and expo frameworks with mergeFramework patch

* refactor: cleanup

* chore: add changeset

* refactor: cleanup

* fix: header support

* docs: update

* feat: add option for expo prebuilt

* fix: test

* chore: update rock

---------

Co-authored-by: Hur Ali <hurali97@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* refactor: drop support for expo 54

* chore: run changeset

* refactor: remove trailing expo 54 references

* fix: restore prebuilt rn core

* fix: review

* docs: update version matrix
* fix: duplicate .so resources on cold builds

* fix(ci): fix Android CI cache gates to run whenever gradle plugin files are changed

* chore: bump BGP

* chore: changeset

---------

Co-authored-by: Hur Ali <hurali97@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix: wire merge classes to asm transformer

* chore: bump

* fix: review comments
…tack#367)

* feat: first approach - fails at not calling bundleRelaseAar for TPL

* feat: second approach by exposing custom tasks - WIP

* feat: migrate manifest-merger and move others to explode-aar task

* feat: migrate processResources and processAssets

* feat: migrate jni libs processor

* feat: migrate proguard processor

* feat: migrate data binding and cleanup

* refactor: cleanup

* refactor: cleanup

* fix: library namespace resolution

* perf: optimize explodeAarTask

* feat: improvements

* fix: add task dependency for JSBundle

* refactor: cleanup

* refactor: remove duplicates

* refactor: early return

* fix: add explode as task dependency on preBuild

* feat: remove resolve during config phase OR needing another task

* fix: right place for evaluation dependency

* fix: expo published projects are now added in exploded aar

* fix: reduce duplication and fixed namespace resolution

* refactor: cleanup

* refactor: cleanup

* refactor: cleanup

* perf: add gradle-profiler benchmarks and docs

* chore: bump BGP to alpha

* chore: changeset

* refactor: remove unused plugin

* refactor: throw error

* refactor: code review

* refactor: guard artifact file

* refactor: code review

* refactor: code review

* fix: errors after merge conflict

* fix: resolve after merge conflicts

* fix: update after merge resolve

* refactor: drop old LibraryVariant

* refactor: use new library variant API for explode and bundle task

* refactor: fix JNI libs

* refactor: remove deprecated APIs

* refactor: update proguard tasks

* refactor: update JNI tasks

* refactor: remove deprecated API

* refactor: make manifest merge reliable with AGP 9

* refactor: remove deprecated APIs

* fix: ktlint and detekt

* fix: task name

* fix: lazily evaluate asm transform task

* feat: add missing dimensions to extension

* feat: add missing dimensions option to brownfield config

* docs: update

* fix: linting

* refactor: cleanup

* refactor: cleanup

* chore: changeset

* chore: bump BGP

* fix: review comments
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* feat: init expo 57

* feat: bootstrap and link with native apps

* feat: add use local maven option for expo

* refactor: adjust flag

* chore: changeset

* docs: update

* feat: add dedicated tasks for resources and assets

* chore: bump BGP

* refactor: cleanup
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
… navigation methods (callstack#412)

* feat: add support for callback parameters and promise return types in navigation methods

* feat: add tests for parsing callback parameters and promise return types in navigation spec

* feat: add support for native confirmation and banner display in navigation

* feat: add support for optional callback parameters parser

* feat: including generated files

* fix: add runonUIThread

* fix: promise and callback type

* revert: generated navigation files

* revert: comments

* chore: changeset

* revert: generated navigation files

* revert: generated navigation files

* chore: podfile lock

* fix: update navigation contract for expo apps

---------

Co-authored-by: Hur Ali <hurali97@gmail.com>
* fix: check-expo-beta script not to conflict in WS

* fix(ci): sync Expo beta deps and skip redundant road-test setup

Ensure expo install --fix runs through Yarn and is followed by a root
yarn install so canary Expo packages (e.g. expo-image) are installed
correctly. Skip setup in road-test actions for the Expo beta workflow
to avoid reinstalling stable deps over the canary set. Ignore generated
ExpoAppBeta in apps.

* feat: use expo -preview versions instead of canary tag

* fix: add expopreview android sourceset

* WIP: test the workflow on this branch

* fix: push brownfield.config.json to fix ExpoPreviewApp builds in CI

* fix: linker errors for ExpoAppPreview in AppleApp

* fix: align Expo preview navigation spec with Android consumer delegate

* Revert "WIP: test the workflow on this branch"

This reverts commit 32ca4e9.

* fix: harden check-expo-preview.ts

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Rebase Android E2E work onto latest main: Expo 54 removal, Expo 56/57
support, and updated CI/road-test infrastructure. Drop deprecated
reactNativeHost from BrownfieldApplication now that Expo 54 is gone.

Co-authored-by: Cursor <cursoragent@cursor.com>
Mirror the Expo 55 split build/test CI jobs for Expo 56 and generalize
shared Expo Android helpers to resolve greeting copy from ANDROIDAPP_VARIANT.

Co-authored-by: Cursor <cursoragent@cursor.com>
@artus9033 artus9033 changed the title E2e for android test: E2E tests for Android Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants