Skip to content

chore(e2e): cover optional install modes in E2E flows#134

Merged
floydkim merged 31 commits intomasterfrom
chore/e2e-optional-update-flow
Mar 7, 2026
Merged

chore(e2e): cover optional install modes in E2E flows#134
floydkim merged 31 commits intomasterfrom
chore/e2e-optional-update-flow

Conversation

@floydkim
Copy link
Collaborator

@floydkim floydkim commented Mar 7, 2026

Background

The existing E2E coverage focused mainly on the mandatory update path, where an update is applied immediately after check for updates triggers a restart.

This change expands the E2E scope to cover non-mandatory update install timing as well, so optional install mode behavior can be verified against real app behavior.

What Changed

1. Added E2E scenarios for optional install modes

A new Phase 4 was added to verify that non-mandatory updates are applied in the following cases:

  • when the app is killed and relaunched
  • when the in-app Restart app button is used
  • when the app returns to foreground after staying in background for a certain duration (ON_NEXT_RESUME)
  • when the update is applied while the app stays in background and the updated bundle is visible on the next foreground (ON_NEXT_SUSPEND)

The timing-sensitive scenarios are excluded from the default run and can be enabled explicitly when needed.

2. Expanded E2E runner and test app preparation

The runner and test setup were extended so these optional scenarios can be exercised reliably.

  • optional releases are prepared separately per scenario
  • the example app is patched only during E2E runs to expose optional install mode paths
  • setup and retry paths were adjusted so each scenario depends less on leftover state from previous steps

3. Tightened existing flows for stability and runtime

While adding the new scenarios, several existing flows were also cleaned up.

  • some preconditions were adjusted so retries start from a consistent baseline
  • overlay and restart timing handling was improved for CI stability
  • some redundant relaunch/wait steps were removed to reduce runtime

4. Added workflow options for manual verification

The manual e2e-matrix workflow can now be configured to choose:

  • whether to include timing-sensitive optional scenarios
  • whether to run iOS jobs
  • whether to run Android jobs

This makes it easier to run only the relevant platform when changes affect one side of the library.

Documentation

The English and Korean E2E docs were updated to describe the optional install mode phase and the new execution options.

Verification

  • npm run type:e2e
  • local manual E2E runs
  • manual GitHub Actions runs of e2e-matrix

floydkim added 30 commits March 4, 2026 22:59
@floydkim floydkim marked this pull request as ready for review March 7, 2026 12:54
@floydkim floydkim merged commit e0d4aa2 into master Mar 7, 2026
25 of 27 checks passed
@floydkim floydkim deleted the chore/e2e-optional-update-flow branch March 7, 2026 12:54
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.

1 participant