react-native-windows icon indicating copy to clipboard operation
react-native-windows copied to clipboard

Validate next Hermes release will work with existing stable branches

Open jonthysell opened this issue 2 months ago • 1 comments

As part of addressing the issues in #12982, @vmoroz is working on catching up hermes-windows with the upstream changes. This includes trying to do so in a way that enables our various stable branches (>= 0.71) to consume this next version of hermes-windows.

Right now, RNW 0.71 works with the current version of hermes-windows, 0.1.18, and RNW 0.72 and above have the aforementioned debugging issues.

We want to actually verify the issues are fixed by Vladimir's work, i.e. that the new build will work with each stable branch, before we release the new version of hermes-windows. There may be some back and forth in this process as functionality may vary between different release branches.

### Tasks
- [ ] [0.71] Bump to the latest version of Hermes
- [ ] [0.72] Bump to the latest version of Hermes
- [ ] [0.73] Bump to the latest version of Hermes
- [ ] [0.74] Bump to the latest version of Hermes
- [ ] [main] Bump to the latest version of Hermes

Strategy

  1. @vmoroz will create a Microsoft.JavaScript.Hermes nuget package with the updated code
  2. For each of the the branches for the tasks listed above, prep by:
    1. Have ready a new RNW Paper test app targeting that version of RNW
    2. Make sure UseHermes is enabled in ExperimentalFeatures.props
    3. Make sure the app is set to use UseDirectDebugger instead of UseWebDebugger in App.cpp
    4. Update (or create) the NuGet.config file with a local folder set as a nuget feed
    5. Update the app JS code to include a Button or something that can be explicitly invoked so there's a callback where variables are created and breakpoints can be set
    6. Have built the app once (to save time)
    7. Verify that you can attach a debugger (edge://inspect), set breakpoints in the callback mentioned above, and note what the current debugging experience looks like
  3. When the drop is ready, put the nuget package in the local folder, then for each test app:
    1. Build the app with logging, making sure that this new local version was used (rather than the version from NuGet.org)
    2. Test the debugging experience again
    3. Report back to @vmoroz if the stable branch works, doesn't work, new issues, etc.
    4. Be ready for new drops, and/or to have to make code changes to the app's local copy of RNW
  4. After it's been tested and we're in a good state, let @vmoroz publish a new official build
  5. Use the task list above to create tasks and then PRs to update each stable branch with the new Hermes version + any changes you may have had to do to RNW code to make the new version work

jonthysell avatar May 03 '24 17:05 jonthysell