Skip to content

chore: bump callstackincubator/react-native-harness from 1.4.1 to 1.5.0 - #1653

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/github_actions/callstackincubator/react-native-harness-1.5.0
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/github_actions/callstackincubator/react-native-harness-1.5.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 17, 2026

Copy link
Copy Markdown
Contributor

Bumps callstackincubator/react-native-harness from 1.4.1 to 1.5.0.

Release notes

Sourced from callstackincubator/react-native-harness's releases.

v1.5.0 (2026-09-14)

🚀 Features

  • Add an injectable filesystem context and in-memory filesystem helper for hermetic Harness integrations and tests. (#169, #165)

  • The react-native-harness CLI now exposes harness ci <subcommand> (#185) (load-config, plan-metro-restore, snapshot-metro, plan-metro-save), which the official GitHub Action uses to run its configuration and Metro caching steps through your project's own installed CLI instead of bundled scripts checked into the action. As a result, the action now requires a react-native-harness install that supports this interface — it checks this itself via a capability marker on the installed package rather than a version number, and fails clearly when the installed CLI predates it. Keep the action ref and the react-native-harness package version in sync, as already recommended.

  • Platform packages can now adjust the Metro configuration Harness composes for (#190, #187) their runner, through a metroConfigEnhancer module they point at. The bundler wiring a platform's runtime needs — module resolution redirects, additional resolver platforms, its own core initialization — lives in the platform package instead of in the bundler. Nothing changes for platforms that do not set one.

🩹 Fixes

  • Harness now bounds owned CLI processes so cancelled runs do not leave console, logcat, or XCTest children behind. (#181)
  • Skipped tests now appear as skipped in Jest output and compatible result consumers. (#182)
  • The harness now runs on a Windows host and recognizes React Native Windows as a device platform: ESM (rn-harness.config.mjs) configs load correctly when the harness process runs on Windows, and an app reporting Platform.OS === 'windows' completes the bridge handshake instead of failing with "Unsupported platform". (#187)
  • The @react-native-harness/platform-windows package now supplies its own Metro wiring through the metroConfigEnhancer hook: the react-native -> react-native-windows resolver redirect, the windows and native resolver.platforms entries, and React Native Windows' InitializeCore. A windowsPlatform() runner no longer needs any of this hand-added to metro.config.js, and @react-native-harness/bundler-metro no longer reads @react-native-community/cli-config to detect out-of-tree platforms. iOS and Android runs are unaffected. (#187)
  • New @react-native-harness/platform-windows package: run harness tests against a deployed React Native Windows app. Add windowsPlatform({ name, packageName }) to rn-harness.config.mjs — the runner resolves the package family name via Get-AppxPackage, shell-activates the app by its AUMID, and tracks it by process name. Requires the app to be deployed first (react-native run-windows). (#187)
  • A resource-lock heartbeat refresh that fails to write (for example the owner file racing a concurrent release, or a transient filesystem error) is now swallowed instead of surfacing as an unhandled rejection — the lock simply goes stale and is reclaimed, as it already would if the refresh were missed. (#187)
  • The resource lock a platform runner defines via getResourceLockKey is now honored. Concurrent Harness runs that target the same platform but different devices — two iOS simulators, or an emulator and a physical device — no longer queue behind each other; only runs that share a device wait. Previously the key was silently dropped by config validation and every run of a platform serialized on <platformId>:<runnerName>. (#187)

❤️ Thank You

Changelog

Sourced from callstackincubator/react-native-harness's changelog.

v1.5.0 (2026-09-14)

🚀 Features

  • Add an injectable filesystem context and in-memory filesystem helper for hermetic Harness integrations and tests. (#169, #165)

  • The react-native-harness CLI now exposes harness ci <subcommand> (#185) (load-config, plan-metro-restore, snapshot-metro, plan-metro-save), which the official GitHub Action uses to run its configuration and Metro caching steps through your project's own installed CLI instead of bundled scripts checked into the action. As a result, the action now requires a react-native-harness install that supports this interface — it checks this itself via a capability marker on the installed package rather than a version number, and fails clearly when the installed CLI predates it. Keep the action ref and the react-native-harness package version in sync, as already recommended.

  • Platform packages can now adjust the Metro configuration Harness composes for (#190, #187) their runner, through a metroConfigEnhancer module they point at. The bundler wiring a platform's runtime needs — module resolution redirects, additional resolver platforms, its own core initialization — lives in the platform package instead of in the bundler. Nothing changes for platforms that do not set one.

🩹 Fixes

  • Harness now bounds owned CLI processes so cancelled runs do not leave console, logcat, or XCTest children behind. (#181)
  • Skipped tests now appear as skipped in Jest output and compatible result consumers. (#182)
  • The harness now runs on a Windows host and recognizes React Native Windows as a device platform: ESM (rn-harness.config.mjs) configs load correctly when the harness process runs on Windows, and an app reporting Platform.OS === 'windows' completes the bridge handshake instead of failing with "Unsupported platform". (#187)
  • The @react-native-harness/platform-windows package now supplies its own Metro wiring through the metroConfigEnhancer hook: the react-native -> react-native-windows resolver redirect, the windows and native resolver.platforms entries, and React Native Windows' InitializeCore. A windowsPlatform() runner no longer needs any of this hand-added to metro.config.js, and @react-native-harness/bundler-metro no longer reads @react-native-community/cli-config to detect out-of-tree platforms. iOS and Android runs are unaffected. (#187)
  • New @react-native-harness/platform-windows package: run harness tests against a deployed React Native Windows app. Add windowsPlatform({ name, packageName }) to rn-harness.config.mjs — the runner resolves the package family name via Get-AppxPackage, shell-activates the app by its AUMID, and tracks it by process name. Requires the app to be deployed first (react-native run-windows). (#187)
  • A resource-lock heartbeat refresh that fails to write (for example the owner file racing a concurrent release, or a transient filesystem error) is now swallowed instead of surfacing as an unhandled rejection — the lock simply goes stale and is reclaimed, as it already would if the refresh were missed. (#187)
  • The resource lock a platform runner defines via getResourceLockKey is now honored. Concurrent Harness runs that target the same platform but different devices — two iOS simulators, or an emulator and a physical device — no longer queue behind each other; only runs that share a device wait. Previously the key was silently dropped by config validation and every run of a platform serialized on <platformId>:<runnerName>. (#187)

❤️ Thank You

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [callstackincubator/react-native-harness](https://github.com/callstackincubator/react-native-harness) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/callstackincubator/react-native-harness/releases)
- [Changelog](https://github.com/callstackincubator/react-native-harness/blob/main/CHANGELOG.md)
- [Commits](callstackincubator/react-native-harness@v1.4.1...v1.5.0)

---
updated-dependencies:
- dependency-name: callstackincubator/react-native-harness
  dependency-version: 1.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added the dependencies Issue/PR is related to dependencies or updates label Sep 17, 2026
@vercel

vercel Bot commented Sep 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
nitro-docs Ready Ready Preview Sep 17, 2026 9:24pm UTC

Request Review

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

Labels

dependencies Issue/PR is related to dependencies or updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants