Skip to content

Conversation

@j-piasecki
Copy link
Contributor

Summary

Sets up automated testing of Hermes V1. The workflow will set up a new RN app from the template, enable Hermes V1, build the app, and run a simple E2E test using it.

E2E is based on the setup used in the React Native repository:


If I understand the repository setup correctly, to pick up the results of the actions and show them on the website, the action needs to upload GitHub artifacts in a specific format, which I believe the new workflow does. Please correct me if I'm wrong.

@@ -0,0 +1,206 @@
name: test-hermes-v1
description: Tests a library on a nightly
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be adapted, I think

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, a reusable workflow is probably better.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can probably collapse this in the hermesv1.yml workflow, to be fair.

Given that there are some steps specific to Android and some other specific to iOS, we could even have a setup_maestro action that is shared and two different workflows: one for android and one for iOS

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new setup is:

  • setup maestro action
  • setup app with Hermes V1 action
  • build & test android app
  • build & test ios app

I also moved collecting result to check-nightly workflow, so it's able to pick up results from library tests, as well as hermes v1.

@j-piasecki j-piasecki force-pushed the @jpiasecki/test-hermes-v1 branch from 9764245 to d89a744 Compare November 7, 2025 14:37
@j-piasecki j-piasecki marked this pull request as ready for review November 12, 2025 07:25
Copy link
Contributor

@cipolleschi cipolleschi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working on this. I left a couple of questions

with:
name: ${{ steps.save-outcome.outputs.lib_folder }}-${{ matrix.platform }}-outcome
path: /tmp/${{ steps.save-outcome.outputs.lib_folder }}-${{ matrix.platform }}-outcome

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why this got removed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I moved it to check-nightly.yml. That's the workflow responsible for triggering all the library tests, and now also Hermes v1 tests. Since Hermes v1 tests follow the same pattern, their results should be picked up in collectNightlyOutcomes.js. That script is responsible for sending a Discord message, so the Hermes v1 results should already be included.

run: |
METRO_PID=$(cat /tmp/metro.pid)
kill $METRO_PID || true
echo "Metro process $METRO_PID stopped."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add a step where we send a notification to Discord? You can copy the setup we have in the test-libraries, the same discord channel is fine.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See my reply above and let me know if it's ok.

run: |
METRO_PID=$(cat /tmp/metro.pid)
kill $METRO_PID || true
echo "Metro process $METRO_PID stopped."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment to notify discord as above.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above.

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.

2 participants