Skip to content
This repository was archived by the owner on May 20, 2025. It is now read-only.

Migrate github actions to ADO #2716

Merged
merged 9 commits into from
Jun 27, 2024
93 changes: 93 additions & 0 deletions .azurepipelines/test-rn-code-push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
trigger:
- master

pr:
- master

variables:
- name: api-level
value: '27'

pool:
vmImage: 'macOS-12'

stages:
- stage: RunTests
displayName: 'Run Android & IOS tests'
jobs:
- job: TestAndroid
timeoutInMinutes: 120
displayName: 'Test android'
steps:

- script: |
adb devices
displayName: 'Start adb server'

- script: |
$ANDROID_HOME/tools/bin/sdkmanager "system-images;android-$(api-level);google_apis;x86"
displayName: 'Download system image'

- script: |
$ANDROID_HOME/tools/bin/avdmanager create avd --force --name TestEmulator --abi google_apis/x86 --package 'system-images;android-$(api-level);google_apis;x86' --device "Nexus 6P"
displayName: 'Creating Android emulator'

- script: |
$ANDROID_HOME/emulator/emulator -avd TestEmulator -noaudio -no-window -no-snapshot-save -no-boot-anim -memory 6144 &
displayName: 'Start Android emulator'

- script: |
$ANDROID_HOME/platform-tools/adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed | tr -d '\r') ]]; do sleep 1; done'
displayName: 'Wait for emulator to boot'

- script: |
adb shell settings put global window_animation_scale 0.0
displayName: 'Disable animations and transitions'

- script: |
adb shell settings put global transition_animation_scale 0.0
displayName: 'Disable animations and transitions'

- script: |
adb shell settings put global animator_duration_scale 0.0
displayName: 'Disable animations and transitions'


- task: JavaToolInstaller@0
inputs:
versionSpec: '11'
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'
displayName: 'Change Java version'

- script: |
npm install
displayName: 'Package Installation'

- script: |
npm run build:tests && npm run test:setup:android
displayName: 'Setup Android tests'

- script: |
npm run test:fast:android
displayName: 'Run Android test'

- job: TestIOS
displayName: 'Test IOS'
steps:

- script: |
npm install
displayName: 'Install dependencies'

- script: |
npm run build:tests && npm run test:setup:ios
displayName: 'Setup iOS tests'

- script: |
npm run test:fast:ios
displayName: 'Run tests'




Loading