feat: project init
This commit is contained in:
parent
eb1c9ff5de
commit
b4b8856ed2
238
.github/workflows/e2e_android.yml
vendored
238
.github/workflows/e2e_android.yml
vendored
@ -59,77 +59,77 @@ jobs:
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
# - name: Configure JDK 1.11
|
||||
# uses: actions/setup-java@v3
|
||||
# with:
|
||||
# distribution: 'temurin'
|
||||
# java-version: '11'
|
||||
- name: Configure JDK 1.11
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: '11'
|
||||
|
||||
# # Set path variables needed for caches
|
||||
# - name: Set workflow variables
|
||||
# id: workflow-variables
|
||||
# run: |
|
||||
# echo "metro-cache=$HOME/.metro" >> $GITHUB_OUTPUT
|
||||
# echo "yarn-cache-dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
|
||||
# echo "tempdir=$TMPDIR" >> $GITHUB_OUTPUT
|
||||
# Set path variables needed for caches
|
||||
- name: Set workflow variables
|
||||
id: workflow-variables
|
||||
run: |
|
||||
echo "metro-cache=$HOME/.metro" >> $GITHUB_OUTPUT
|
||||
echo "yarn-cache-dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
|
||||
echo "tempdir=$TMPDIR" >> $GITHUB_OUTPUT
|
||||
|
||||
# - uses: actions/cache@v3
|
||||
# name: Yarn Cache
|
||||
# id: yarn-cache
|
||||
# with:
|
||||
# path: ${{ steps.workflow-variables.outputs.yarn-cache-dir }}
|
||||
# key: ${{ runner.os }}-yarn-v1-${{ hashFiles('yarn.lock') }}
|
||||
# restore-keys: ${{ runner.os }}-yarn-v1
|
||||
- uses: actions/cache@v3
|
||||
name: Yarn Cache
|
||||
id: yarn-cache
|
||||
with:
|
||||
path: ${{ steps.workflow-variables.outputs.yarn-cache-dir }}
|
||||
key: ${{ runner.os }}-yarn-v1-${{ hashFiles('yarn.lock') }}
|
||||
restore-keys: ${{ runner.os }}-yarn-v1
|
||||
|
||||
# - name: Yarn Install
|
||||
# uses: nick-invision/retry@v2
|
||||
# with:
|
||||
# timeout_minutes: 10
|
||||
# retry_wait_seconds: 60
|
||||
# max_attempts: 3
|
||||
# command: DETOX_DISABLE_POSTINSTALL=1 yarn --no-audit --prefer-offline
|
||||
- name: Yarn Install
|
||||
uses: nick-invision/retry@v2
|
||||
with:
|
||||
timeout_minutes: 10
|
||||
retry_wait_seconds: 60
|
||||
max_attempts: 3
|
||||
command: DETOX_DISABLE_POSTINSTALL=1 yarn --no-audit --prefer-offline
|
||||
|
||||
# - name: Cache pushy Emulator
|
||||
# uses: actions/cache@v3
|
||||
# with:
|
||||
# path: ~/.cache/pushy/emulators
|
||||
# key: pushy-emulators-v1-${{ github.run_id }}
|
||||
# restore-keys: pushy-emulators-v1
|
||||
- name: Cache pushy Emulator
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.cache/pushy/emulators
|
||||
key: pushy-emulators-v1-${{ github.run_id }}
|
||||
restore-keys: pushy-emulators-v1
|
||||
|
||||
# - name: Start pushy Emulator
|
||||
# run: yarn tests:emulator:start-ci
|
||||
- name: Start pushy Emulator
|
||||
run: yarn tests:emulator:start-ci
|
||||
|
||||
# - uses: actions/cache@v3
|
||||
# name: Gradle Cache
|
||||
# with:
|
||||
# path: ~/.gradle/caches
|
||||
# key: ${{ runner.os }}-gradle-v1-${{ hashFiles('**/*.gradle*') }}
|
||||
# restore-keys: ${{ runner.os }}-gradle-v1
|
||||
- uses: actions/cache@v3
|
||||
name: Gradle Cache
|
||||
with:
|
||||
path: ~/.gradle/caches
|
||||
key: ${{ runner.os }}-gradle-v1-${{ hashFiles('**/*.gradle*') }}
|
||||
restore-keys: ${{ runner.os }}-gradle-v1
|
||||
|
||||
# # This appears to be 'Cache Size: ~1230 MB (1290026823 B)' based on watching action logs
|
||||
# # Repo limit is 10GB; branch caches are independent; branches may read default branch cache.
|
||||
# # We don't want branches to evict master branch snapshot, so save on master, read-only all else
|
||||
# - name: AVD cache
|
||||
# uses: actions/cache@v3
|
||||
# id: avd-cache
|
||||
# with:
|
||||
# path: |
|
||||
# ~/.android/avd/*
|
||||
# ~/.android/adb*
|
||||
# key: avd-${{ matrix.api-level }}-${{ matrix.arch }}-${{matrix.target}}-v1-${{ github.event.inputs.clearCaches }}
|
||||
# restore-keys: |
|
||||
# avd-${{ matrix.api-level }}-${{ matrix.arch }}-${{matrix.target}}-v1
|
||||
# This appears to be 'Cache Size: ~1230 MB (1290026823 B)' based on watching action logs
|
||||
# Repo limit is 10GB; branch caches are independent; branches may read default branch cache.
|
||||
# We don't want branches to evict master branch snapshot, so save on master, read-only all else
|
||||
- name: AVD cache
|
||||
uses: actions/cache@v3
|
||||
id: avd-cache
|
||||
with:
|
||||
path: |
|
||||
~/.android/avd/*
|
||||
~/.android/adb*
|
||||
key: avd-${{ matrix.api-level }}-${{ matrix.arch }}-${{matrix.target}}-v1-${{ github.event.inputs.clearCaches }}
|
||||
restore-keys: |
|
||||
avd-${{ matrix.api-level }}-${{ matrix.arch }}-${{matrix.target}}-v1
|
||||
|
||||
# - name: Clear Caches Optionally
|
||||
# if: "${{ github.event.inputs.clearCaches != '' }}"
|
||||
# shell: bash
|
||||
# run: |
|
||||
# du -sk ~/.gradle
|
||||
# du -sk ~/.android
|
||||
# rm -fr ~/.gradle
|
||||
# rm -fr ~/.android
|
||||
# du -sk ~/.gradle || echo ~/.gradle is gone
|
||||
# du -sk ~/.android || echo ~/.android is gone
|
||||
- name: Clear Caches Optionally
|
||||
if: "${{ github.event.inputs.clearCaches != '' }}"
|
||||
shell: bash
|
||||
run: |
|
||||
du -sk ~/.gradle
|
||||
du -sk ~/.android
|
||||
rm -fr ~/.gradle
|
||||
rm -fr ~/.android
|
||||
du -sk ~/.gradle || echo ~/.gradle is gone
|
||||
du -sk ~/.android || echo ~/.android is gone
|
||||
|
||||
- name: Build Android App
|
||||
uses: nick-invision/retry@v2
|
||||
@ -139,65 +139,65 @@ jobs:
|
||||
max_attempts: 3
|
||||
command: yarn build:android-release
|
||||
|
||||
# - name: Metro Bundler Cache
|
||||
# uses: actions/cache@v3
|
||||
# with:
|
||||
# path: ${{ steps.workflow-variables.outputs.metro-cache }}
|
||||
# key: ${{ runner.os }}-metro-v1-${{ github.run_id }}
|
||||
# restore-keys: ${{ runner.os }}-metro-v1
|
||||
- name: Metro Bundler Cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ steps.workflow-variables.outputs.metro-cache }}
|
||||
key: ${{ runner.os }}-metro-v1-${{ github.run_id }}
|
||||
restore-keys: ${{ runner.os }}-metro-v1
|
||||
|
||||
# - name: AVD Boot and Snapshot Creation
|
||||
# # Only generate a snapshot with a cache miss
|
||||
# # Comment the if out to generate snapshots on branch for performance testing
|
||||
# if: "${{ github.event.inputs.clearCaches != '' || (steps.avd-cache.outputs.cache-hit != 'true' && github.ref == 'refs/heads/master') }}"
|
||||
# uses: reactivecircus/android-emulator-runner@v2
|
||||
# with:
|
||||
# api-level: ${{ matrix.api-level }}
|
||||
# avd-name: TestingAVD
|
||||
# force-avd-creation: false
|
||||
# target: ${{ matrix.target }}
|
||||
# arch: ${{ matrix.arch }}
|
||||
# emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
# sdcard-path-or-size: 100M
|
||||
# disable-animations: true
|
||||
# # Give the emulator a little time to run and do first boot stuff before taking snapshot
|
||||
# script: |
|
||||
# $ANDROID_HOME/platform-tools/adb logcat '*:D' -d > adb-snapshot-log.txt
|
||||
# $ANDROID_HOME/platform-tools/adb logcat --clear
|
||||
# echo "Generated AVD snapshot for caching."
|
||||
- name: AVD Boot and Snapshot Creation
|
||||
# Only generate a snapshot with a cache miss
|
||||
# Comment the if out to generate snapshots on branch for performance testing
|
||||
if: "${{ github.event.inputs.clearCaches != '' || (steps.avd-cache.outputs.cache-hit != 'true' && github.ref == 'refs/heads/master') }}"
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
with:
|
||||
api-level: ${{ matrix.api-level }}
|
||||
avd-name: TestingAVD
|
||||
force-avd-creation: false
|
||||
target: ${{ matrix.target }}
|
||||
arch: ${{ matrix.arch }}
|
||||
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
sdcard-path-or-size: 100M
|
||||
disable-animations: true
|
||||
# Give the emulator a little time to run and do first boot stuff before taking snapshot
|
||||
script: |
|
||||
$ANDROID_HOME/platform-tools/adb logcat '*:D' -d > adb-snapshot-log.txt
|
||||
$ANDROID_HOME/platform-tools/adb logcat --clear
|
||||
echo "Generated AVD snapshot for caching."
|
||||
|
||||
# # This step is separate so pure install time may be calculated as a step
|
||||
# - name: Emulator Snapshot After Firstboot Warmup
|
||||
# # Only generate a snapshot for saving with a cache miss
|
||||
# # Switch the if statements via comment if generating snapshots for performance testing
|
||||
# # if: matrix.first-boot-delay != '0'
|
||||
# if: "${{ github.event.inputs.clearCaches != '' || (steps.avd-cache.outputs.cache-hit != 'true' && github.ref == 'refs/heads/master') }}"
|
||||
# env:
|
||||
# FIRST_BOOT_DELAY: ${{ matrix.first-boot-delay }}
|
||||
# uses: reactivecircus/android-emulator-runner@v2
|
||||
# with:
|
||||
# api-level: ${{ matrix.api-level }}
|
||||
# avd-name: TestingAVD
|
||||
# force-avd-creation: false
|
||||
# target: ${{ matrix.target }}
|
||||
# arch: ${{ matrix.arch }}
|
||||
# emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
# sdcard-path-or-size: 100M
|
||||
# disable-animations: true
|
||||
# # Give the emulator a little time to run and do first boot stuff before taking snapshot
|
||||
# # The zygote restart makes sure zygote has correct heap size as a workaround for android emulator init bug
|
||||
# script: |
|
||||
# $ANDROID_HOME/platform-tools/adb shell su root "setprop ctl.restart zygote"
|
||||
# sleep $FIRST_BOOT_DELAY
|
||||
# $ANDROID_HOME/platform-tools/adb logcat '*:D' -d > adb-warmup-log.txt
|
||||
# $ANDROID_HOME/platform-tools/adb logcat --clear
|
||||
# echo "First boot warmup completed."
|
||||
# This step is separate so pure install time may be calculated as a step
|
||||
- name: Emulator Snapshot After Firstboot Warmup
|
||||
# Only generate a snapshot for saving with a cache miss
|
||||
# Switch the if statements via comment if generating snapshots for performance testing
|
||||
# if: matrix.first-boot-delay != '0'
|
||||
if: "${{ github.event.inputs.clearCaches != '' || (steps.avd-cache.outputs.cache-hit != 'true' && github.ref == 'refs/heads/master') }}"
|
||||
env:
|
||||
FIRST_BOOT_DELAY: ${{ matrix.first-boot-delay }}
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
with:
|
||||
api-level: ${{ matrix.api-level }}
|
||||
avd-name: TestingAVD
|
||||
force-avd-creation: false
|
||||
target: ${{ matrix.target }}
|
||||
arch: ${{ matrix.arch }}
|
||||
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
sdcard-path-or-size: 100M
|
||||
disable-animations: true
|
||||
# Give the emulator a little time to run and do first boot stuff before taking snapshot
|
||||
# The zygote restart makes sure zygote has correct heap size as a workaround for android emulator init bug
|
||||
script: |
|
||||
$ANDROID_HOME/platform-tools/adb shell su root "setprop ctl.restart zygote"
|
||||
sleep $FIRST_BOOT_DELAY
|
||||
$ANDROID_HOME/platform-tools/adb logcat '*:D' -d > adb-warmup-log.txt
|
||||
$ANDROID_HOME/platform-tools/adb logcat --clear
|
||||
echo "First boot warmup completed."
|
||||
|
||||
# - name: Test Tapper
|
||||
# # Run this outside the emulator runner so the emulator runner does not wait on it for cleanup
|
||||
# run: |
|
||||
# nohup sh -c "until false; do $ANDROID_HOME/platform-tools/adb shell input tap 100 800; sleep 0.2; done" &
|
||||
# shell: bash
|
||||
- name: Test Tapper
|
||||
# Run this outside the emulator runner so the emulator runner does not wait on it for cleanup
|
||||
run: |
|
||||
nohup sh -c "until false; do $ANDROID_HOME/platform-tools/adb shell input tap 100 800; sleep 0.2; done" &
|
||||
shell: bash
|
||||
|
||||
- name: Detox Tests
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
|
Loading…
Reference in New Issue
Block a user