|
88 | 88 | debugger_shell: |
89 | 89 | - 'packages/debugger-shell/**' |
90 | 90 | - 'scripts/debugger-shell/**' |
91 | | -
|
92 | 91 | prebuild_apple_dependencies: |
93 | 92 | needs: check_code_changes |
94 | 93 | if: | |
@@ -157,6 +156,55 @@ jobs: |
157 | 156 | use-frameworks: ${{ matrix.frameworks }} |
158 | 157 | flavor: ${{ matrix.flavor }} |
159 | 158 |
|
| 159 | + test_maestro_cloud_ios: |
| 160 | + name: Maestro Cloud iOS RNTester |
| 161 | + needs: test_ios_rntester |
| 162 | + if: | |
| 163 | + needs.test_ios_rntester.result == 'success' && |
| 164 | + ( |
| 165 | + (github.event_name == 'push' && github.ref == 'refs/heads/main') || |
| 166 | + ( |
| 167 | + github.event_name == 'pull_request' && |
| 168 | + github.event.pull_request.head.repo.full_name == github.repository && |
| 169 | + github.actor != 'dependabot[bot]' |
| 170 | + ) |
| 171 | + ) |
| 172 | + runs-on: ubuntu-latest |
| 173 | + timeout-minutes: 75 |
| 174 | + steps: |
| 175 | + - name: Checkout |
| 176 | + uses: actions/checkout@v6 |
| 177 | + with: |
| 178 | + persist-credentials: false |
| 179 | + - name: Download RNTester app |
| 180 | + uses: actions/download-artifact@v7 |
| 181 | + with: |
| 182 | + name: RNTesterApp-NewArch-Release |
| 183 | + path: /tmp/RNTesterBuild/RNTester.app |
| 184 | + - name: Validate Maestro Cloud inputs |
| 185 | + env: |
| 186 | + MAESTRO_CLOUD_API_KEY: ${{ secrets.MAESTRO_CLOUD_API_KEY }} |
| 187 | + MAESTRO_CLOUD_PROJECT_ID: ${{ vars.MAESTRO_CLOUD_PROJECT_ID }} |
| 188 | + run: | |
| 189 | + test -n "$MAESTRO_CLOUD_API_KEY" |
| 190 | + test -n "$MAESTRO_CLOUD_PROJECT_ID" |
| 191 | + test -d /tmp/RNTesterBuild/RNTester.app |
| 192 | + test -z "$(find packages/rn-tester/.maestro -type l -print -quit)" |
| 193 | + - name: Run flows on Maestro Cloud |
| 194 | + uses: mobile-dev-inc/action-maestro-cloud@5759506b4ec7ee0a1ece4b7e6574bba2b282f241 # v3.0.1 |
| 195 | + with: |
| 196 | + api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }} |
| 197 | + project-id: ${{ vars.MAESTRO_CLOUD_PROJECT_ID }} |
| 198 | + app-file: /tmp/RNTesterBuild/RNTester.app |
| 199 | + workspace: packages/rn-tester/.maestro |
| 200 | + branch: ${{ github.head_ref || github.ref_name }} |
| 201 | + name: RNTester iOS - ${{ github.event.pull_request.title || github.event.head_commit.message }} |
| 202 | + exclude-tags: android-only |
| 203 | + env: | |
| 204 | + APP_ID=com.meta.RNTester.localDevelopment |
| 205 | + maestro-cli-version: 2.6.1 |
| 206 | + timeout: 60 |
| 207 | + |
160 | 208 | test_e2e_ios_rntester: |
161 | 209 | needs: test_ios_rntester |
162 | 210 | if: ${{ needs.test_ios_rntester.result == 'success' }} |
@@ -286,6 +334,54 @@ jobs: |
286 | 334 | release-type: ${{ needs.set_release_type.outputs.RELEASE_TYPE }} |
287 | 335 | gradle-cache-encryption-key: ${{ secrets.GRADLE_CACHE_ENCRYPTION_KEY }} |
288 | 336 |
|
| 337 | + test_maestro_cloud_android: |
| 338 | + name: Maestro Cloud Android RNTester |
| 339 | + needs: build_android |
| 340 | + if: | |
| 341 | + needs.build_android.result == 'success' && |
| 342 | + ( |
| 343 | + (github.event_name == 'push' && github.ref == 'refs/heads/main') || |
| 344 | + ( |
| 345 | + github.event_name == 'pull_request' && |
| 346 | + github.event.pull_request.head.repo.full_name == github.repository && |
| 347 | + github.actor != 'dependabot[bot]' |
| 348 | + ) |
| 349 | + ) |
| 350 | + runs-on: ubuntu-latest |
| 351 | + timeout-minutes: 75 |
| 352 | + steps: |
| 353 | + - name: Checkout |
| 354 | + uses: actions/checkout@v6 |
| 355 | + with: |
| 356 | + persist-credentials: false |
| 357 | + - name: Download RNTester APK |
| 358 | + uses: actions/download-artifact@v7 |
| 359 | + with: |
| 360 | + name: rntester-release |
| 361 | + path: /tmp/rntester-android |
| 362 | + - name: Validate Maestro Cloud inputs |
| 363 | + env: |
| 364 | + MAESTRO_CLOUD_API_KEY: ${{ secrets.MAESTRO_CLOUD_API_KEY }} |
| 365 | + MAESTRO_CLOUD_PROJECT_ID: ${{ vars.MAESTRO_CLOUD_PROJECT_ID }} |
| 366 | + run: | |
| 367 | + test -n "$MAESTRO_CLOUD_API_KEY" |
| 368 | + test -n "$MAESTRO_CLOUD_PROJECT_ID" |
| 369 | + test -f /tmp/rntester-android/app-x86-release.apk |
| 370 | + test -z "$(find packages/rn-tester/.maestro -type l -print -quit)" |
| 371 | + - name: Run flows on Maestro Cloud |
| 372 | + uses: mobile-dev-inc/action-maestro-cloud@5759506b4ec7ee0a1ece4b7e6574bba2b282f241 # v3.0.1 |
| 373 | + with: |
| 374 | + api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }} |
| 375 | + project-id: ${{ vars.MAESTRO_CLOUD_PROJECT_ID }} |
| 376 | + app-file: /tmp/rntester-android/app-x86-release.apk |
| 377 | + workspace: packages/rn-tester/.maestro |
| 378 | + branch: ${{ github.head_ref || github.ref_name }} |
| 379 | + name: RNTester Android - ${{ github.event.pull_request.title || github.event.head_commit.message }} |
| 380 | + env: | |
| 381 | + APP_ID=com.facebook.react.uiapp |
| 382 | + maestro-cli-version: 2.6.1 |
| 383 | + timeout: 60 |
| 384 | + |
289 | 385 | test_e2e_android_rntester: |
290 | 386 | needs: build_android |
291 | 387 | if: ${{ needs.build_android.result == 'success' }} |
|
0 commit comments