mirror of
https://github.com/callstack/agent-device.git
synced 2026-09-14 20:06:34 +08:00
78 lines
2.5 KiB
YAML
78 lines
2.5 KiB
YAML
name: Android
|
|
|
|
on:
|
|
pull_request:
|
|
paths-ignore:
|
|
- "docs/**"
|
|
- "website/**"
|
|
- "README.md"
|
|
- ".github/actions/build-docs/action.yml"
|
|
- ".github/workflows/deploy.yml"
|
|
- ".github/workflows/pr-preview.yml"
|
|
- ".github/workflows/pr-preview-cleanup.yml"
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: ci-${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
smoke-android:
|
|
name: Smoke Tests
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 80
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
|
|
- name: Setup toolchain
|
|
uses: ./.github/actions/setup-node-pnpm
|
|
|
|
- name: Setup Android replay host
|
|
id: android-replay-host
|
|
uses: ./.github/actions/setup-android-replay-host
|
|
|
|
- name: Install Android SDK packages
|
|
run: |
|
|
SDK_ROOT="${ANDROID_HOME:-${ANDROID_SDK_ROOT:-/usr/local/lib/android/sdk}}"
|
|
SDKMANAGER="$SDK_ROOT/cmdline-tools/latest/bin/sdkmanager"
|
|
if [ ! -x "$SDKMANAGER" ]; then
|
|
SDKMANAGER="$SDK_ROOT/cmdline-tools/bin/sdkmanager"
|
|
fi
|
|
if [ ! -x "$SDKMANAGER" ]; then
|
|
echo "sdkmanager not found under $SDK_ROOT" >&2
|
|
exit 1
|
|
fi
|
|
yes | "$SDKMANAGER" --licenses >/dev/null
|
|
"$SDKMANAGER" "platforms;android-36" "build-tools;36.0.0"
|
|
|
|
- name: Package npm-bundled Android helpers
|
|
run: |
|
|
pnpm package:android-snapshot-helper:npm
|
|
pnpm package:android-multitouch-helper:npm
|
|
|
|
- name: Run Android smoke checks
|
|
uses: reactivecircus/android-emulator-runner@b530d96654c385303d652368551fb075bc2f0b6b # v2.35.0
|
|
with:
|
|
api-level: 36
|
|
arch: x86_64
|
|
profile: pixel_7
|
|
target: google_apis_playstore
|
|
emulator-options: -no-window -gpu swiftshader_indirect -no-snapshot -noaudio -no-boot-anim -no-metrics
|
|
script: |
|
|
set -e
|
|
node --experimental-strip-types src/bin.ts test test/integration/replays/android/01-settings.ad --retries 2 --report-junit test/artifacts/replays-android-smoke.junit.xml
|
|
sh ./test/scripts/android-snapshot-helper-release-smoke.sh
|
|
|
|
- name: Upload Android artifacts
|
|
if: always()
|
|
uses: ./.github/actions/upload-agent-device-artifacts
|
|
with:
|
|
artifact-name: android-artifacts
|
|
agent-home-dir: ${{ steps.android-replay-host.outputs.agent-home-dir }}
|