|
|
|
@ -201,31 +201,8 @@ jobs:
|
|
|
|
|
heap-size: 600M
|
|
|
|
|
profile: pixel_5
|
|
|
|
|
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
|
|
|
|
script: ./gradlew connectedDemoDebugAndroidTest --daemon
|
|
|
|
|
|
|
|
|
|
# Workaround for https://github.com/ReactiveCircus/android-emulator-runner/issues/391
|
|
|
|
|
# From https://github.com/TWiStErRob/github-workflows/blob/main/.github/workflows/instrumentation.yml
|
|
|
|
|
- name: "Workaround for emulator bug."
|
|
|
|
|
id: script
|
|
|
|
|
env:
|
|
|
|
|
SCRIPT: |
|
|
|
|
|
# Workaround for https://github.com/ReactiveCircus/android-emulator-runner/issues/373
|
|
|
|
|
pre_terminate_crashpad() {
|
|
|
|
|
# For some reason pgrep/pkill sees only crashpad_handle, not crashpad_handler,
|
|
|
|
|
# but it's definitely called ${ANDROID_HOME}/emulator/crashpad_handler.
|
|
|
|
|
|
|
|
|
|
# Best-effort gracefully terminate all crashpad_handler processes.
|
|
|
|
|
pkill --exact --echo --signal SIGTERM crashpad_handle || return
|
|
|
|
|
sleep 10
|
|
|
|
|
pkill --exact --echo --signal SIGKILL crashpad_handle || return
|
|
|
|
|
}
|
|
|
|
|
trap pre_terminate_crashpad EXIT
|
|
|
|
|
|
|
|
|
|
${{ inputs.script }}
|
|
|
|
|
run: |
|
|
|
|
|
script_file="${RUNNER_TEMP}/reactivecircus-android-emulator-runner-prepared-script.sh"
|
|
|
|
|
echo "${SCRIPT}" > "${script_file}"
|
|
|
|
|
echo "file=${script_file}" >> "${GITHUB_OUTPUT}"
|
|
|
|
|
# Run tests, if they fail, record screenshots and exit with a failure
|
|
|
|
|
script: ./gradlew connectedDemoDebugAndroidTest --daemon || echo "Recording new screenshots" ; ./gradlew connectedDemoDebugAndroidTest -Pdropshots.record --stacktrace
|
|
|
|
|
|
|
|
|
|
- name: Prevent pushing new screenshots if this is a fork (instrumented)
|
|
|
|
|
id: checkfork_screenshots_instrumented
|
|
|
|
@ -234,27 +211,27 @@ jobs:
|
|
|
|
|
run: |
|
|
|
|
|
echo "::error::Instrumented screenshot tests failed, please create a PR in your fork first." && exit 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Record new instrumented screenshots
|
|
|
|
|
id: screenshotsrecordinstrumented
|
|
|
|
|
if: steps.dropshotsverify.outcome == 'failure' && github.event_name == 'pull_request'
|
|
|
|
|
uses: reactivecircus/android-emulator-runner@v2
|
|
|
|
|
with:
|
|
|
|
|
api-level: ${{ matrix.api-level }}
|
|
|
|
|
arch: x86_64
|
|
|
|
|
disable-animations: true
|
|
|
|
|
disk-size: 6000M
|
|
|
|
|
heap-size: 600M
|
|
|
|
|
profile: pixel_5
|
|
|
|
|
force-avd-creation: false
|
|
|
|
|
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
|
|
|
|
script: adb shell rm -rf /storage/emulated/0/Download/screenshots && ./gradlew connectedDemoDebugAndroidTest -Pdropshots.record --stacktrace
|
|
|
|
|
#
|
|
|
|
|
# - name: Record new instrumented screenshots
|
|
|
|
|
# id: screenshotsrecordinstrumented
|
|
|
|
|
# if: steps.dropshotsverify.outcome == 'failure' && github.event_name == 'pull_request'
|
|
|
|
|
# uses: reactivecircus/android-emulator-runner@v2
|
|
|
|
|
# with:
|
|
|
|
|
# api-level: ${{ matrix.api-level }}
|
|
|
|
|
# arch: x86_64
|
|
|
|
|
# disable-animations: true
|
|
|
|
|
# disk-size: 6000M
|
|
|
|
|
# heap-size: 600M
|
|
|
|
|
# profile: pixel_5
|
|
|
|
|
# force-avd-creation: false
|
|
|
|
|
# emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
|
|
|
|
# script: adb shell rm -rf /storage/emulated/0/Download/screenshots && ./gradlew connectedDemoDebugAndroidTest -Pdropshots.record --stacktrace
|
|
|
|
|
|
|
|
|
|
- name: Push new device screenshots if available
|
|
|
|
|
uses: stefanzweifel/git-auto-commit-action@4b8a201e31cadd9829df349894b28c54e6c19fe6
|
|
|
|
|
if: steps.screenshotsrecordinstrumented.outcome == 'success'
|
|
|
|
|
if: steps.dropshotsverify.outcome == 'failure'
|
|
|
|
|
with:
|
|
|
|
|
file_pattern: '*/*.png'
|
|
|
|
|
file_pattern: 'app/src/androidTest/screenshots/*.png'
|
|
|
|
|
disable_globbing: true
|
|
|
|
|
commit_message: "🤖 Updates instrumented screenshots"
|
|
|
|
|
|
|
|
|
|