From 4b6d6fff51e8adab10e262219e569931c6f8c022 Mon Sep 17 00:00:00 2001 From: Riccardo Cipolleschi Date: Thu, 2 Jan 2025 07:34:59 -0800 Subject: [PATCH] Store the RNTester artifacts to speed-up E2E (#48442) Summary: This change stores the RNTester `.app` in an artifact so that E2E tests can reuse it. ## Context While looking at the recent failures of the E2E tests, I realized that the Hermes, NewArch, Debug variant often fails to build, not to test, for some misconfiguration. I also realized that we are already building that varaint successfully once, so why not reuse it? To reuse prebuilds, we need a few steps: 1. make sure we build all the variants we need 2. store the .app file as an artifact 3. download the artifact and use it in the E2E tests ## Changelog: [Internal] - Build release variant for RNTester Differential Revision: D67760380 --- .github/actions/test-ios-rntester/action.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/actions/test-ios-rntester/action.yml b/.github/actions/test-ios-rntester/action.yml index 8f8e19a88dbd86..077b798b8a6130 100644 --- a/.github/actions/test-ios-rntester/action.yml +++ b/.github/actions/test-ios-rntester/action.yml @@ -130,7 +130,10 @@ runs: -derivedDataPath "/tmp/RNTesterBuild" echo "Print path to *.app file" - find "/tmp/RNTesterBuild" -type d -name "*.app" + APP_PATH=$(find "/tmp/RNTesterBuild" -type d -name "*.app") + + echo "App found at $APP_PATH" + echo "app-path=$APP_PATH" >> $GITHUB_ENV - name: "Run Tests: iOS Unit and Integration Tests" if: ${{ inputs.run-unit-tests == 'true' }} shell: bash @@ -150,6 +153,11 @@ runs: with: name: xcresults path: /Users/distiller/Library/Developer/Xcode/xcresults.tar.gz + - name: Upload RNTester App + uses: actions/upload-artifact@v4.3.4 + with: + name: RNTesterApp-${{ inputs.architecture }}-${{ inputs.jsengine }}-${{ inputs.flavor }} + path: ${{ env.app-path }} - name: Store test results if: ${{ inputs.run-unit-tests == 'true' }} uses: actions/upload-artifact@v4.3.4