mirror of
https://github.com/react/react-native.git
synced 2026-09-28 13:23:09 +08:00
Summary: This reverts the runner changes from https://github.com/react/react-native/issues/57216, which moved the Android CI jobs from the dedicated `4-core-ubuntu` / `8-core-ubuntu` runners onto the standard `ubuntu-latest` runners. I'm opening this (as a draft) to **see if we can speed up the RN runners** — i.e. to measure whether going back to the larger dedicated runners gives us faster CI than `ubuntu-latest`. This is an experiment to compare timings. ### What's reverted - `e2e-android-rntester.yml`: `ubuntu-latest` → `4-core-ubuntu` - `e2e-android-templateapp.yml`: `ubuntu-latest` → `4-core-ubuntu` - `fantom-tests.yml`: `ubuntu-latest` → `8-core-ubuntu` - `test-all.yml`: `build_fantom_runner`, `build_android`, `build_npm_package` → `8-core-ubuntu`; `test_android_helloworld` → `4-core-ubuntu` ### Not reverted (drift since https://github.com/react/react-native/issues/57216) - `nightly.yml` was deleted on main (consolidated into `publish-npm.yml`). - `publish-npm.yml` was fully restructured on main (the old `publish-react-native` reusable job no longer exists). These two are release/nightly jobs rather than the per-PR CI that determines runner speed, so they're intentionally left untouched. Changelog: [INTERNAL] - ## Changelog [INTERNAL] - Pull Request resolved: https://github.com/react/react-native/pull/57323 Test Plan: CI — compare job durations against `ubuntu-latest`. Reviewed By: fabriziocucci Differential Revision: D109808150 Pulled By: cortinico fbshipit-source-id: 694eba516f0d42ef733e729b23534f09dfe8548c
55 lines
1.4 KiB
YAML
55 lines
1.4 KiB
YAML
name: Fantom Tests
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
fail-on-error:
|
|
type: boolean
|
|
default: false
|
|
outputs:
|
|
status:
|
|
description: 'The result of the Fantom tests (success or failure)'
|
|
value: ${{ jobs.report.outputs.status }}
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: 8-core-ubuntu
|
|
outputs:
|
|
status: ${{ steps.report-status.outputs.status }}
|
|
container:
|
|
image: reactnativecommunity/react-native-android:latest
|
|
env:
|
|
TERM: 'dumb'
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
- name: Run Fantom Tests
|
|
id: run-tests
|
|
continue-on-error: true
|
|
uses: ./.github/actions/run-fantom-tests
|
|
- name: Report status
|
|
id: report-status
|
|
if: ${{ always() && steps.run-tests.outcome == 'failure' }}
|
|
run: echo "status=failure" >> $GITHUB_OUTPUT
|
|
|
|
report:
|
|
needs: test
|
|
if: always()
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
status: ${{ steps.check.outputs.status }}
|
|
steps:
|
|
- id: check
|
|
run: |
|
|
if [[ "${{ needs.test.outputs.status }}" == "failure" ]]; then
|
|
echo "status=failure" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "status=success" >> $GITHUB_OUTPUT
|
|
fi
|
|
- name: Fail if needed
|
|
if: ${{ inputs.fail-on-error && steps.check.outputs.status == 'failure' }}
|
|
run: exit 1
|