chore: remove automatic cursor pointer (#161) #175
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test All | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
branches: | |
- main | |
- "*-stable" | |
jobs: | |
set_release_type: | |
if: github.repository == 'facebook/react-native' | |
runs-on: ubuntu-latest | |
outputs: | |
RELEASE_TYPE: ${{ steps.set_release_type.outputs.RELEASE_TYPE }} | |
env: | |
EVENT_NAME: ${{ github.event_name }} | |
REF: ${{ github.ref }} | |
steps: | |
- id: set_release_type | |
run: | | |
if [[ $EVENT_NAME == "schedule" ]]; then | |
echo "Setting release type to nightly" | |
echo "RELEASE_TYPE=nightly" >> $GITHUB_OUTPUT | |
elif [[ $EVENT_NAME == "push" && $REF == refs/tags/v* ]]; then | |
echo "Setting release type to release" | |
echo "RELEASE_TYPE=release" >> $GITHUB_OUTPUT | |
else | |
echo "Setting release type to dry-run" | |
echo "RELEASE_TYPE=dry-run" >> $GITHUB_OUTPUT | |
fi | |
prepare_hermes_workspace: | |
if: github.repository == 'facebook/react-native' | |
runs-on: ubuntu-latest | |
env: | |
HERMES_WS_DIR: /tmp/hermes | |
HERMES_VERSION_FILE: packages/react-native/sdks/.hermesversion | |
outputs: | |
react-native-version: ${{ steps.prepare-hermes-workspace.outputs.react-native-version }} | |
hermes-version: ${{ steps.prepare-hermes-workspace.outputs.hermes-version }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Prepare Hermes Workspace | |
id: prepare-hermes-workspace | |
uses: ./.github/actions/prepare-hermes-workspace | |
with: | |
hermes-ws-dir: ${{ env.HERMES_WS_DIR }} | |
hermes-version-file: ${{ env.HERMES_VERSION_FILE }} | |
build_hermesc_apple: | |
if: github.repository == 'facebook/react-native' | |
runs-on: macos-13 | |
needs: prepare_hermes_workspace | |
env: | |
HERMES_WS_DIR: /tmp/hermes | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build HermesC Apple | |
uses: ./.github/actions/build-hermesc-apple | |
with: | |
hermes-version: ${{ needs.prepare_hermes_workspace.outputs.hermes-version }} | |
react-native-version: ${{ needs.prepare_hermes_workspace.outputs.react-native-version }} | |
build_apple_slices_hermes: | |
if: github.repository == 'facebook/react-native' | |
runs-on: macos-14 | |
needs: [build_hermesc_apple, prepare_hermes_workspace] | |
env: | |
HERMES_WS_DIR: /tmp/hermes | |
HERMES_TARBALL_ARTIFACTS_DIR: /tmp/hermes/hermes-runtime-darwin | |
HERMES_OSXBIN_ARTIFACTS_DIR: /tmp/hermes/osx-bin | |
IOS_DEPLOYMENT_TARGET: "15.1" | |
XROS_DEPLOYMENT_TARGET: "1.0" | |
MAC_DEPLOYMENT_TARGET: "10.15" | |
strategy: | |
fail-fast: false | |
matrix: | |
flavor: [Debug, Release] | |
slice: [macosx, iphoneos, iphonesimulator, catalyst, xros, xrsimulator] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build Slice | |
uses: ./.github/actions/build-apple-slices-hermes | |
with: | |
flavor: ${{ matrix.flavor }} | |
slice: ${{ matrix.slice}} | |
hermes-version: ${{ needs.prepare_hermes_workspace.outputs.hermes-version }} | |
react-native-version: ${{ needs.prepare_hermes_workspace.outputs.react-native-version }} | |
build_hermes_macos: | |
if: github.repository == 'facebook/react-native' | |
runs-on: macos-13 | |
needs: [build_apple_slices_hermes, prepare_hermes_workspace] | |
env: | |
HERMES_WS_DIR: /tmp/hermes | |
HERMES_TARBALL_ARTIFACTS_DIR: /tmp/hermes/hermes-runtime-darwin | |
continue-on-error: true | |
strategy: | |
fail-fast: false | |
matrix: | |
flavor: [Debug, Release] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build Hermes MacOS | |
uses: ./.github/actions/build-hermes-macos | |
with: | |
hermes-version: ${{ needs.prepare_hermes_workspace.outputs.hermes-version }} | |
react-native-version: ${{ needs.prepare_hermes_workspace.outputs.react-native-version }} | |
flavor: ${{ matrix.flavor }} | |
test_ios_rntester_ruby_3_2_0: | |
if: github.repository == 'facebook/react-native' | |
runs-on: macos-13 | |
needs: | |
[build_apple_slices_hermes, prepare_hermes_workspace, build_hermes_macos] | |
env: | |
HERMES_WS_DIR: /tmp/hermes | |
HERMES_TARBALL_ARTIFACTS_DIR: /tmp/hermes/hermes-runtime-darwin | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Run it | |
uses: ./.github/actions/test-ios-rntester | |
with: | |
ruby-version: "3.2.0" | |
hermes-version: ${{ needs.prepare_hermes_workspace.outputs.hermes-version }} | |
react-native-version: ${{ needs.prepare_hermes_workspace.outputs.react-native-version }} | |
test_ios_rntester_dynamic_frameworks: | |
if: github.repository == 'facebook/react-native' | |
runs-on: macos-13 | |
needs: | |
[build_apple_slices_hermes, prepare_hermes_workspace, build_hermes_macos] | |
env: | |
HERMES_WS_DIR: /tmp/hermes | |
HERMES_TARBALL_ARTIFACTS_DIR: /tmp/hermes/hermes-runtime-darwin | |
continue-on-error: true | |
strategy: | |
fail-fast: false | |
matrix: | |
jsengine: [Hermes, JSC] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Run it | |
uses: ./.github/actions/test-ios-rntester | |
with: | |
jsengine: ${{ matrix.jsengine }} | |
use-frameworks: DynamicFrameworks | |
hermes-version: ${{ needs.prepare_hermes_workspace.outputs.hermes-version }} | |
react-native-version: ${{ needs.prepare_hermes_workspace.outputs.react-native-version }} | |
test_ios_rntester: | |
if: github.repository == 'facebook/react-native' | |
runs-on: macos-13 | |
needs: | |
[build_apple_slices_hermes, prepare_hermes_workspace, build_hermes_macos] | |
env: | |
HERMES_WS_DIR: /tmp/hermes | |
HERMES_TARBALL_ARTIFACTS_DIR: /tmp/hermes/hermes-runtime-darwin | |
continue-on-error: true | |
strategy: | |
fail-fast: false | |
matrix: | |
architecture: [NewArch, OldArch] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Run it | |
uses: ./.github/actions/test-ios-rntester | |
with: | |
jsengine: ${{ matrix.jsengine }} | |
architecture: ${{ matrix.architecture }} | |
run-unit-tests: "false" | |
use-frameworks: StaticLibraries | |
hermes-version: ${{ needs.prepare_hermes_workspace.outputs.hermes-version }} | |
react-native-version: ${{ needs.prepare_hermes_workspace.outputs.react-native-version }} | |
test_visionos_rntester: | |
runs-on: macos-14-xlarge | |
continue-on-error: true | |
strategy: | |
fail-fast: false | |
matrix: | |
architecture: [NewArch, OldArch] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Run it | |
uses: ./.github/actions/test-visionos-rntester | |
with: | |
jsengine: ${{ matrix.jsengine }} | |
architecture: ${{ matrix.architecture }} | |
run-unit-tests: "false" | |
use-frameworks: StaticLibraries | |
hermes-version: ${{ needs.prepare_hermes_workspace.outputs.hermes-version }} | |
react-native-version: ${{ needs.prepare_hermes_workspace.outputs.react-native-version }} | |
test_e2e_ios_rntester: | |
if: ${{ github.ref == 'refs/heads/main' || contains(github.ref, 'stable') }} | |
runs-on: macos-13 | |
needs: | |
[build_apple_slices_hermes, prepare_hermes_workspace, build_hermes_macos] | |
env: | |
HERMES_WS_DIR: /tmp/hermes | |
HERMES_TARBALL_ARTIFACTS_DIR: /tmp/hermes/hermes-runtime-darwin | |
continue-on-error: true | |
strategy: | |
fail-fast: false | |
matrix: | |
jsengine: [Hermes, JSC] | |
architecture: [NewArch] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Run it | |
uses: ./.github/actions/test-ios-rntester | |
with: | |
jsengine: ${{ matrix.jsengine }} | |
architecture: ${{ matrix.architecture }} | |
run-unit-tests: "false" | |
use-frameworks: StaticLibraries | |
hermes-version: ${{ needs.prepare_hermes_workspace.outputs.hermes-version }} | |
react-native-version: ${{ needs.prepare_hermes_workspace.outputs.react-native-version }} | |
run-e2e-tests: "true" | |
- name: Run E2E Tests | |
uses: ./.github/actions/maestro-ios | |
with: | |
app-path: "/tmp/RNTesterBuild/Build/Products/Release-iphonesimulator/RNTester.app" | |
app-id: com.meta.RNTester.localDevelopment | |
jsengine: ${{ matrix.jsengine }} | |
maestro-flow: ./packages/rn-tester/.maestro/ | |
test_e2e_ios_templateapp: | |
if: ${{ github.ref == 'refs/heads/main' || contains(github.ref, 'stable') }} | |
runs-on: macos-13 | |
needs: build_npm_package | |
env: | |
HERMES_WS_DIR: /tmp/hermes | |
HERMES_TARBALL_ARTIFACTS_DIR: /tmp/hermes/hermes-runtime-darwin | |
continue-on-error: true | |
strategy: | |
fail-fast: false | |
matrix: | |
jsengine: [Hermes, JSC] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup xcode | |
uses: ./.github/actions/setup-xcode | |
- name: Setup node.js | |
uses: ./.github/actions/setup-node | |
- name: Run yarn | |
uses: ./.github/actions/yarn-install-with-cache | |
- name: Setup ruby | |
uses: ruby/setup-ruby@v1.171.0 | |
with: | |
ruby-version: 2.6.10 | |
- name: Download Hermes | |
uses: actions/download-artifact@v4 | |
with: | |
name: hermes-darwin-bin-Release | |
path: /tmp/react-native-tmp | |
- name: Download React Native Package | |
uses: actions/download-artifact@v4 | |
with: | |
name: react-native-package | |
path: /tmp/react-native-tmp | |
- name: Print /tmp folder | |
run: ls -lR /tmp/react-native-tmp | |
- name: Prepare artifacts | |
run: | | |
REACT_NATIVE_PKG=$(find /tmp/react-native-tmp -type f -name "*.tgz") | |
echo "React Native tgs is $REACT_NATIVE_PKG" | |
HERMES_PATH=$(find /tmp/react-native-tmp -type f -name "*.tar.gz") | |
echo "Hermes path is $HERMES_PATH" | |
node ./scripts/e2e/init-project-e2e.js --projectName RNTestProject --currentBranch ${{ github.ref_name }} --directory /tmp/RNTestProject --pathToLocalReactNative $REACT_NATIVE_PKG | |
cd /tmp/RNTestProject/ios | |
bundle install | |
HERMES_ENGINE_TARBALL_PATH=$HERMES_PATH bundle exec pod install | |
set -o pipefail && xcodebuild \ | |
-scheme "RNTestProject" \ | |
-workspace RNTestProject.xcworkspace \ | |
-configuration "Release" \ | |
-sdk "iphonesimulator" \ | |
-destination "generic/platform=iOS Simulator" \ | |
-derivedDataPath "/tmp/RNTestProject" | xcbeautify | |
- name: Run E2E Tests | |
uses: ./.github/actions/maestro-ios | |
with: | |
app-path: "/tmp/RNTestProject/Build/Products/Release-iphonesimulator/RNTestProject.app" | |
app-id: org.reactjs.native.example.RNTestProject | |
jsengine: ${{ matrix.jsengine }} | |
maestro-flow: ./scripts/e2e/.maestro/ | |
test_e2e_android_templateapp: | |
if: ${{ github.ref == 'refs/heads/main' || contains(github.ref, 'stable') }} | |
runs-on: 4-core-ubuntu | |
needs: build_npm_package | |
continue-on-error: true | |
strategy: | |
fail-fast: false | |
matrix: | |
jsengine: [Hermes, JSC] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup node.js | |
uses: ./.github/actions/setup-node | |
- name: Run yarn | |
uses: ./.github/actions/yarn-install-with-cache | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v2 | |
with: | |
java-version: '17' | |
distribution: 'zulu' | |
- name: Download Maven Local | |
uses: actions/download-artifact@v4 | |
with: | |
name: maven-local | |
path: /tmp/react-native-tmp/maven-local | |
- name: Download React Native Package | |
uses: actions/download-artifact@v4 | |
with: | |
name: react-native-package | |
path: /tmp/react-native-tmp | |
- name: Print /tmp folder | |
run: ls -lR /tmp/react-native-tmp | |
- name: Prepare artifacts | |
run: | | |
REACT_NATIVE_PKG=$(find /tmp/react-native-tmp -type f -name "*.tgz") | |
echo "React Native tgs is $REACT_NATIVE_PKG" | |
MAVEN_LOCAL=/tmp/react-native-tmp/maven-local | |
echo "Maven local path is $MAVEN_LOCAL" | |
node ./scripts/e2e/init-project-e2e.js --projectName RNTestProject --currentBranch ${{ github.ref_name }} --directory /tmp/RNTestProject --pathToLocalReactNative $REACT_NATIVE_PKG | |
echo "Feed maven local to gradle.properties" | |
cd /tmp/RNTestProject | |
echo "react.internal.mavenLocalRepo=$MAVEN_LOCAL" >> android/gradle.properties | |
# Build | |
cd android | |
./gradlew assembleRelease --no-daemon -PreactNativeArchitectures=x86 | |
- name: Run E2E Tests | |
uses: ./.github/actions/maestro-android | |
with: | |
app-path: /tmp/RNTestProject/android/app/build/outputs/apk/release/app-release.apk | |
app-id: com.rntestproject | |
jsengine: ${{ matrix.jsengine }} | |
maestro-flow: ./scripts/e2e/.maestro/ | |
install-java: 'false' | |
build_hermesc_linux: | |
if: github.repository == 'facebook/react-native' | |
runs-on: ubuntu-latest | |
needs: prepare_hermes_workspace | |
env: | |
HERMES_WS_DIR: /tmp/hermes | |
HERMES_TARBALL_ARTIFACTS_DIR: /tmp/hermes/hermes-runtime-darwin | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build HermesC Linux | |
uses: ./.github/actions/build-hermesc-linux | |
with: | |
hermes-version: ${{ needs.prepare_hermes_workspace.outputs.hermes-version }} | |
react-native-version: ${{ needs.prepare_hermes_workspace.outputs.react-native-version }} | |
build_hermesc_windows: | |
if: github.repository == 'facebook/react-native' | |
runs-on: windows-2019 | |
needs: prepare_hermes_workspace | |
env: | |
HERMES_WS_DIR: 'D:\tmp\hermes' | |
HERMES_TARBALL_ARTIFACTS_DIR: 'D:\tmp\hermes\hermes-runtime-darwin' | |
HERMES_OSXBIN_ARTIFACTS_DIR: 'D:\tmp\hermes\osx-bin' | |
ICU_URL: "https://github.com/unicode-org/icu/releases/download/release-64-2/icu4c-64_2-Win64-MSVC2017.zip" | |
MSBUILD_DIR: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin' | |
CMAKE_DIR: 'C:\Program Files\CMake\bin' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build HermesC Windows | |
uses: ./.github/actions/build-hermesc-windows | |
with: | |
hermes-version: ${{ needs.prepare_hermes_workspace.outputs.hermes-version }} | |
react-native-version: ${{ needs.prepare_hermes_workspace.outputs.react-native-version }} | |
build_android: | |
if: github.repository == 'facebook/react-native' | |
runs-on: 8-core-ubuntu | |
needs: [set_release_type] | |
container: | |
image: reactnativecommunity/react-native-android:latest | |
env: | |
TERM: "dumb" | |
GRADLE_OPTS: "-Dorg.gradle.daemon=false" | |
ORG_GRADLE_PROJECT_SIGNING_PWD: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_PWD }} | |
ORG_GRADLE_PROJECT_SIGNING_KEY: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_KEY }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build Android | |
uses: ./.github/actions/build-android | |
with: | |
release-type: ${{ needs.set_release_type.outputs.RELEASE_TYPE }} | |
run-e2e-tests: ${{ github.ref == 'refs/heads/main' || contains(github.ref, 'stable') }} | |
test_e2e_android_rntester: | |
if: ${{ github.ref == 'refs/heads/main' || contains(github.ref, 'stable') }} | |
runs-on: ubuntu-latest | |
needs: [build_android] | |
strategy: | |
fail-fast: false | |
matrix: | |
jsengine: [hermes, jsc] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup node.js | |
uses: ./.github/actions/setup-node | |
- name: Install node dependencies | |
uses: ./.github/actions/yarn-install-with-cache | |
- name: Download APK | |
uses: actions/download-artifact@v4 | |
with: | |
name: rntester-${{ matrix.jsengine }}-release | |
path: ./packages/rn-tester/android/app/build/outputs/apk/${{ matrix.jsengine }}/release/ | |
- name: Print folder structure | |
run: ls -lR ./packages/rn-tester/android/app/build/outputs/apk/${{ matrix.jsengine }}/release/ | |
- name: Run E2E Tests | |
uses: ./.github/actions/maestro-android | |
with: | |
app-path: ./packages/rn-tester/android/app/build/outputs/apk/${{ matrix.jsengine }}/release/app-${{ matrix.jsengine }}-x86-release.apk | |
app-id: com.facebook.react.uiapp | |
jsengine: ${{ matrix.jsengine }} | |
maestro-flow: ./packages/rn-tester/.maestro/ | |
build_npm_package: | |
runs-on: 8-core-ubuntu | |
needs: | |
[ | |
set_release_type, | |
prepare_hermes_workspace, | |
build_hermes_macos, | |
build_hermesc_linux, | |
build_hermesc_windows, | |
build_android, | |
] | |
container: | |
image: reactnativecommunity/react-native-android:latest | |
env: | |
TERM: "dumb" | |
GRADLE_OPTS: "-Dorg.gradle.daemon=false" | |
env: | |
HERMES_WS_DIR: /tmp/hermes | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build NPM Package | |
uses: ./.github/actions/build-npm-package | |
with: | |
hermes-ws-dir: ${{ env.HERMES_WS_DIR }} | |
release-type: ${{ needs.set_release_type.outputs.RELEASE_TYPE }} | |
test_android_helloworld: | |
runs-on: 4-core-ubuntu | |
needs: build_npm_package | |
container: | |
image: reactnativecommunity/react-native-android:latest | |
env: | |
# Set the encoding to resolve a known character encoding issue with decompressing tar.gz files in conatiners | |
# via Gradle: https://github.com/gradle/gradle/issues/23391#issuecomment-1878979127 | |
LC_ALL: C.UTF8 | |
YARN_ENABLE_IMMUTABLE_INSTALLS: false | |
TERM: "dumb" | |
GRADLE_OPTS: "-Dorg.gradle.daemon=false" | |
TARGET_ARCHITECTURE: "arm64-v8a" | |
continue-on-error: true | |
strategy: | |
fail-fast: false | |
matrix: | |
flavor: [Debug, Release] | |
architecture: [NewArch, OldArch] | |
jsengine: [Hermes, JSC] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup git safe folders | |
run: git config --global --add safe.directory '*' | |
- name: Download npm package artifact | |
uses: actions/download-artifact@v4.1.3 | |
with: | |
name: react-native-package | |
path: build | |
- name: Download maven-local artifact | |
uses: actions/download-artifact@v4.1.3 | |
with: | |
name: maven-local | |
path: /tmp/maven-local | |
- name: Setup gradle | |
uses: ./.github/actions/setup-gradle | |
- name: Run yarn install | |
uses: ./.github/actions/yarn-install-with-cache | |
- name: Prepare the Helloworld application | |
shell: bash | |
run: node ./scripts/e2e/init-project-e2e.js --useHelloWorld --pathToLocalReactNative "$GITHUB_WORKSPACE/build/$(cat build/react-native-package-version)" | |
- name: Build the Helloworld application for ${{ matrix.flavor }} with Architecture set to ${{ matrix.architecture }}, and using the ${{ matrix.jsengine }} JS engine. | |
shell: bash | |
run: | | |
cd packages/helloworld/android | |
args=() | |
if [[ ${{ matrix.architecture }} == "OldArch" ]]; then | |
args+=(--arch old) | |
fi | |
if [[ ${{ matrix.jsengine }} == "JSC" ]]; then | |
args+=(--jsvm jsc) | |
fi | |
if [[ ${{ matrix.flavor }} == "Release" ]]; then | |
args+=(--prod) | |
fi | |
yarn build android "${args[@]}" -P reactNativeArchitectures="$TARGET_ARCHITECTURE" -P react.internal.mavenLocalRepo="/tmp/maven-local" | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4.3.4 | |
with: | |
name: helloworld-apk-${{ matrix.flavor }}-${{ matrix.architecture }}-${{ matrix.jsengine }} | |
path: ./packages/helloworld/android/app/build/outputs/apk/ | |
compression-level: 0 | |
test_ios_helloworld_with_ruby_3_2_0: | |
if: github.repository == 'facebook/react-native' | |
runs-on: macos-13 | |
needs: [prepare_hermes_workspace, build_hermes_macos] # prepare_hermes_workspace must be there because we need its reference to retrieve a couple of outputs | |
env: | |
PROJECT_NAME: iOSTemplateProject | |
HERMES_WS_DIR: /tmp/hermes | |
YARN_ENABLE_IMMUTABLE_INSTALLS: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- uses: ./.github/actions/test-ios-helloworld | |
with: | |
ruby-version: 3.2.0 | |
architecture: NewArch | |
flavor: Debug | |
hermes-version: ${{ needs.prepare_hermes_workspace.outputs.hermes-version }} | |
react-native-version: ${{ needs.prepare_hermes_workspace.outputs.react-native-version }} | |
test_ios_helloworld: | |
if: github.repository == 'facebook/react-native' | |
runs-on: macos-13 | |
needs: [prepare_hermes_workspace, build_hermes_macos] # prepare_hermes_workspace must be there because we need its reference to retrieve a couple of outputs | |
strategy: | |
matrix: | |
flavor: [Debug, Release] | |
jsengine: [Hermes, JSC] | |
use_frameworks: [StaticLibraries, DynamicFrameworks] | |
exclude: | |
# This config is tested with Ruby 3.2.0. Let's not double test it. | |
- flavor: Debug | |
jsengine: Hermes | |
use_frameworks: StaticLibraries | |
env: | |
PROJECT_NAME: iOSTemplateProject | |
HERMES_WS_DIR: /tmp/hermes | |
YARN_ENABLE_IMMUTABLE_INSTALLS: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- uses: ./.github/actions/test-ios-helloworld | |
with: | |
flavor: ${{ matrix.flavor }} | |
jsengine: ${{ matrix.jsengine }} | |
use-frameworks: ${{ matrix.use_frameworks }} | |
hermes-version: ${{ needs.prepare_hermes_workspace.outputs.hermes-version }} | |
react-native-version: ${{ needs.prepare_hermes_workspace.outputs.react-native-version }} | |
test_js: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: ["20", "18"] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Test JS | |
uses: ./.github/actions/test-js | |
with: | |
node-version: ${{ matrix.node-version }} | |
lint: | |
runs-on: ubuntu-latest | |
if: github.repository == 'facebook/react-native' | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Run all the Linters | |
uses: ./.github/actions/lint | |
with: | |
github-token: ${{ env.GH_TOKEN }} |