Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[test] Use new android CI #1407

Closed
wants to merge 68 commits into from
Closed
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
611b75c
Update build.yml
mattbfb May 23, 2024
8a5a043
Update build.yml
mattbfb May 23, 2024
d258d65
Update build.yml
mattbfb May 23, 2024
f27088e
Update build.yml
mattbfb May 23, 2024
d0a498e
Update build.yml
mattbfb May 23, 2024
2d6dfbc
Update build.yml
mattbfb May 23, 2024
e15c248
Update build.yml
mattbfb May 23, 2024
4e97d35
Update build.yml
mattbfb May 23, 2024
52f3f51
Update build.yml
mattbfb May 23, 2024
78e375f
Update build.yml
mattbfb May 23, 2024
4a5ee46
Update build.yml
mattbfb May 23, 2024
0b9914e
Update build.yml
mattbfb May 23, 2024
ba8b108
Update build.yml
mattbfb May 23, 2024
6de3176
Update build.yml
mattbfb May 23, 2024
8b1b395
Update build.yml
mattbfb May 23, 2024
1a80d83
Update build.yml
mattbfb May 23, 2024
caac8ea
Update build.yml
mattbfb May 23, 2024
e711801
Update build.yml
mattbfb May 23, 2024
97743d3
Update build.yml
mattbfb May 24, 2024
f5817ba
Update build.yml
mattbfb May 24, 2024
95cb147
Update build.yml
mattbfb May 24, 2024
8ac61ef
Update build.yml
mattbfb May 24, 2024
62c949d
Update build.yml
mattbfb May 24, 2024
b53d86d
Update build.yml
mattbfb May 24, 2024
fde8328
Update build.yml
mattbfb May 24, 2024
c469173
Update build.yml
mattbfb May 24, 2024
dfe83fc
Update build.yml
mattbfb May 24, 2024
047af3a
Update build.yml
mattbfb May 24, 2024
f4cbc8f
Update build.yml
mattbfb May 24, 2024
ad0a0d8
Update build.yml
mattbfb May 24, 2024
7b80543
Update build.yml
mattbfb May 24, 2024
395f470
Update build.yml
mattbfb May 27, 2024
95fcdc3
Update build.yml
mattbfb May 27, 2024
f81a4b4
Update build.yml
mattbfb May 27, 2024
65ab9d7
Update build.yml
mattbfb May 27, 2024
9dfdcc3
Update build.yml
mattbfb May 27, 2024
511cb75
Update build.yml
mattbfb May 27, 2024
b850096
Update build.yml
mattbfb May 27, 2024
9dee9c1
Update build.yml
mattbfb May 27, 2024
75a4dcc
Update build.yml
mattbfb May 27, 2024
f9770ae
Update build.yml
mattbfb May 27, 2024
b22742d
Update build.yml
mattbfb May 27, 2024
18bea5a
Update build.yml
mattbfb May 27, 2024
5be8a0c
Update build.yml
mattbfb May 27, 2024
5b8cd15
Update build.yml
mattbfb May 27, 2024
44392a6
Update build.yml
mattbfb May 27, 2024
3f5148e
Update build.yml
mattbfb May 27, 2024
5391a3e
Update build.yml
mattbfb May 27, 2024
862d5ff
Update build.yml
mattbfb May 27, 2024
2c1df0b
Update build.yml
mattbfb May 27, 2024
92e18c2
Update build.yml
mattbfb May 27, 2024
d39dd84
Update build.yml
mattbfb May 27, 2024
d73aeae
Update build.yml
mattbfb May 29, 2024
65d98cc
Update build.yml
mattbfb May 29, 2024
835dc16
Update build.yml
mattbfb May 29, 2024
aebfb02
Update build.yml
mattbfb May 29, 2024
56fd676
Update build.yml
mattbfb May 29, 2024
a989ff7
Update build.yml
mattbfb May 29, 2024
ff16ed4
Update build.yml
mattbfb May 29, 2024
1e904f7
Update build.yml
mattbfb May 29, 2024
e1150c4
Update build.yml
mattbfb May 29, 2024
728b1e0
Update build.yml
mattbfb May 29, 2024
38395e7
Update build.yml
mattbfb May 29, 2024
95e0cf6
Update build.yml
mattbfb May 29, 2024
abf6e06
Update build.yml
mattbfb May 29, 2024
f81f3eb
Update build.yml
mattbfb May 30, 2024
365a74e
Update build.yml
mattbfb May 30, 2024
f9aba69
Update build.yml
mattbfb May 30, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
116 changes: 59 additions & 57 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,21 +47,18 @@ jobs:
- name: Install dependencies
run: |-
sudo apt update
sudo apt install -y git openssh-client cmake build-essential \
libreadline-dev libicu-dev zip python3
yes | sdkmanager "cmake;3.22.1" &
sudo apt update && sudo apt install -y libicu-dev
- uses: actions/[email protected]
with:
path: hermes
- name: Build linux CLI
run: |-
cmake -S hermes -B build_hdb -DHERMES_STATIC_LINK=ON -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-s -DCMAKE_C_FLAGS=-s \
-DCMAKE_EXE_LINKER_FLAGS="-Wl,--whole-archive -lpthread -Wl,--no-whole-archive"
cmake -S hermes -B build -DHERMES_STATIC_LINK=ON -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-s -DCMAKE_C_FLAGS=-s \
-DCMAKE_EXE_LINKER_FLAGS="-Wl,--whole-archive -lpthread -Wl,--no-whole-archive" \
-DHERMES_ENABLE_DEBUGGER=False
cmake --build build_hdb --target hdb
#cmake -S hermes -B build_hdb -DHERMES_STATIC_LINK=ON -DCMAKE_BUILD_TYPE=Release \
# -DCMAKE_CXX_FLAGS=-s -DCMAKE_C_FLAGS=-s \
# -DCMAKE_EXE_LINKER_FLAGS="-Wl,--whole-archive -lpthread -Wl,--no-whole-archive"
cmake -S hermes -B build
#cmake --build build_hdb --target hdb
cmake --build build --target check-hermes hermes hvm hbcdump hermesc
- name: Create CLI tarball
run: |-
Expand All @@ -81,7 +78,7 @@ jobs:
steps:
- uses: maxim-lobanov/[email protected]
with:
xcode-version: 13.4.1
xcode-version: 14.3.1
- uses: actions/[email protected]
with:
path: hermes
Expand Down Expand Up @@ -109,7 +106,7 @@ jobs:
name: macos-hermes
path: output
build-apple-runtime:
runs-on: macos-latest
runs-on: macos-12
env:
TERM: dumb
HERMES_WS_DIR: "/tmp/hermes"
Expand Down Expand Up @@ -144,7 +141,7 @@ jobs:
steps:
- uses: maxim-lobanov/[email protected]
with:
xcode-version: 13.4.1
xcode-version: 14.3.1
- uses: actions/[email protected]
with:
path: hermes
Expand All @@ -156,7 +153,7 @@ jobs:
cmake --build ./build
cmake --build ./build --target check-hermes
test-apple-runtime:
runs-on: macos-latest
runs-on: macos-12
needs: build-apple-runtime
env:
TERM: dumb
Expand Down Expand Up @@ -199,7 +196,7 @@ jobs:
-scheme ApplePlatformsIntegrationMobileTests
working-directory: test/ApplePlatformsIntegrationTestApp
package-apple-runtime:
runs-on: macos-latest
runs-on: macos-12
needs:
- test-macos
- test-apple-runtime
Expand Down Expand Up @@ -489,70 +486,75 @@ jobs:
cmake -S hermes -B build -G 'Visual Studio 16 2019'
cmake --build build --target check-hermes -- -m /p:UseMultiToolTask=true -m /p:EnforceProcessCountAcrossBuilds=true
test-e2e:
runs-on: ubuntu-20.04
container:
image: reactnativecommunity/react-native-android:latest
env:
TERM: "dumb"
GRADLE_OPTS: '-Dorg.gradle.daemon=false'
# By default we only build ARM64 to save time/resources. For release/nightlies/prealpha, we override this value to build all archs.
ORG_GRADLE_PROJECT_reactNativeArchitectures: "arm64-v8a"
REACT_NATIVE_OVERRIDE_HERMES_DIR: /__w/hermes/hermes/hermes/
runs-on: ubuntu-latest
env:
# By default we only build ARM64 to save time/resources. For release/nightlies/prealpha, we override this value to build all archs.
ORG_GRADLE_PROJECT_reactNativeArchitectures: "arm64-v8a"
ANDROID_NDK: /usr/local/lib/android/sdk/ndk/26.1.10909125
HERMES_WS_DIR: /home/runner/work/hermes
REACT_NATIVE_OVERRIDE_HERMES_DIR: /home/runner/work/hermes/hermes
steps:
- uses: actions/[email protected]
- name: Setup dependencies
run: |-
(yes | sdkmanager "cmake;3.22.1" --verbose) || true
sudo apt update && sudo apt install -y openjdk-11-jdk
- uses: actions/[email protected]
- name: Install Node
uses: actions/[email protected]
- name: Install JDK
uses: actions/setup-java@v3
with:
path: hermes
- name: Prepare RNTester
distribution: "temurin"
java-version: "17"
- name: Checkout Hermes
uses: actions/[email protected]
- name: Checkout React Native
run: |-
cd "$HERMES_WS_DIR"
git clone --depth=1 https://github.com/facebook/react-native
cd react-native
yarn install
pwd
find
echo "console.log('Using Hermes: ' + (global.HermesInternal != null));" >> packages/rn-tester/js/RNTesterApp.android.js
- name: Run android tests
working-directory: react-native
run: |
./gradlew -PreactNativeArchitectures=x86 :packages:rn-tester:android:app:installHermesRelease
&& adb shell am start com.facebook.react.uiapp/.RNTesterActivity
&& timeout 30s adb logcat -e "Using Hermes: true" -m 1
- name: Run RNTester
uses: ReactiveCircus/[email protected]
with:
api-level: 29
ndk: 26.1.10909125
cmake: 3.22.1
script: |
cd ../react-native && ./gradlew -PreactNativeArchitectures=x86 :packages:rn-tester:android:app:installHermesRelease
adb shell am start com.facebook.react.uiapp/.RNTesterActivity
timeout 30s adb logcat -e "Using Hermes: true" -m 1
test-e2e-intl:
runs-on: ubuntu-20.04
container:
image: reactnativecommunity/react-native-android:latest
env:
TERM: "dumb"
GRADLE_OPTS: '-Dorg.gradle.daemon=false'
# By default we only build ARM64 to save time/resources. For release/nightlies/prealpha, we override this value to build all archs.
ORG_GRADLE_PROJECT_reactNativeArchitectures: "arm64-v8a"
HERMES_WS_DIR: /__w/hermes/hermes/
runs-on: ubuntu-latest
env:
# By default we only build ARM64 to save time/resources. For release/nightlies/prealpha, we override this value to build all archs.
ORG_GRADLE_PROJECT_reactNativeArchitectures: "arm64-v8a"
HERMES_WS_DIR: /home/runner/work/hermes
ANDROID_NDK: /usr/local/lib/android/sdk/ndk/26.1.10909125
steps:
- uses: actions/[email protected]
with:
path: hermes
- name: Setup dependencies
- name: Checkout Hermes
uses: actions/[email protected]
- name: Checkout Test262
run: |-
(yes | sdkmanager "cmake;3.22.1" --verbose) || true
# Check out test262 at a pinned revision to reduce flakiness
cd "$HERMES_WS_DIR"
git clone https://github.com/tc39/test262
cd test262
git checkout 19da3ca0757248f7595ee09d532bb83dd438f2b5
- name: Build Hermes Compiler
run: |-
cd "$HERMES_WS_DIR"
cmake -S hermes -B ./build -DCMAKE_BUILD_TYPE=Release
cmake --build ./build -j 4 --target hermesc
- name: Run android tests
working-directory: hermes/android
run: ./gradlew :intltest:prepareTests && ./gradlew -Pabis=x86 :intltest:connectedAndroidTest
uses: ReactiveCircus/[email protected]
with:
api-level: 29
emulator-options: -timezone Europe/Paris -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
script: cd android && ./gradlew :intltest:prepareTests && ./gradlew -Pabis=x86 :intltest:connectedAndroidTest
test-macos-test262:
runs-on: macos-latest
runs-on: macos-13
steps:
- uses: maxim-lobanov/[email protected]
with:
xcode-version: 13.4.1
xcode-version: 14.3.1
- uses: actions/[email protected]
with:
path: hermes
Expand Down
Loading