Skip to content

Re-enable bare iOS in the xcode-27 native e2e matrix once the RN 0.88 template ships SceneDelegate #882

Open

Description

@janicduplessis

Context

#870 excludes framework: bare from the iOS job in .github/workflows/e2e-native.yml because the bare fixture generated from the React Native 0.87 template does not adopt the UIScene lifecycle, and apps without a scene manifest trap at launch on iOS 27 (_UIApplicationEvaluateRuntimeIssueForNoSceneLifecycleAdoption). The xcode-27 runner is required for Swift compilation caching, so bare-iOS currently has no native e2e coverage at all.

Upstream state

Done when

  • The bare fixture in test/e2e/native/ is generated from a React Native 0.88 template release (a tagged @react-native-community/template version, not main).
  • The exclude: - framework: bare entry is removed from the iOS matrix in .github/workflows/e2e-native.yml, and the matrix comments plus docs/e2e-and-ci.md no longer describe iOS as expo-only.
  • A workflow_dispatch run with suite: all shows ios bare passing on the xcode-27 runner for loop, caches and pool.

Activity

  1. janicduplessis commented on Sep 26, 2026

    @janicduplessis
    CollaboratorAuthor

    Status on 2026-09-26: the upstream blocker is lifted in a tagged pre-release, but nothing in this repo has changed yet.

    • @react-native-community/template 0.88.0-rc.2-c821f5d (npm) ships template/ios/HelloWorld/SceneDelegate.swift and a UIApplicationSceneManifest in Info.plist. react-native's next tag is 0.88.0-rc.2, and latest is still 0.87.1.
    • The bare fixture in test/e2e/native/harness.mjs runs @react-native-community/cli@latest init with no --version, so it still resolves 0.87.1. The iOS matrix in .github/workflows/e2e-native.yml still has exclude: framework: bare.

    To try it now, dispatch e2e-native with STIM_E2E_BARE_INIT pinned to a 0.88 RC (for example npx --yes @react-native-community/cli@latest init StimE2E --directory {dir} --skip-git-init --install-pods false --pm npm --version 0.88.0-rc.2), with the exclude removed on a branch. Otherwise wait for 0.88.0 stable, when the default init picks it up.

  2. added
    type: choreNo runtime behavior change: docs, refactors, tests, workflows, tooling, deps
    area: repo.github/, scripts/, test/, packaging/, patches/, root config
    on Oct 10, 2026
  3. janicduplessis commented on Oct 10, 2026

    @janicduplessis
    CollaboratorAuthor

    Maintainer decision: wait for the stable react-native 0.88 (still 0.88.0-rc.4). No workflow spend until then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: repo.github/, scripts/, test/, packaging/, patches/, root configpriority: P3Nice to havetype: choreNo runtime behavior change: docs, refactors, tests, workflows, tooling, deps

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions