Skip to content

Commit 3b018d2

Browse files
committed
Update emulator testing
1 parent 1e0dc91 commit 3b018d2

File tree

1 file changed

+25
-36
lines changed

1 file changed

+25
-36
lines changed

.github/workflows/ci.yml

Lines changed: 25 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,6 @@ jobs:
5757
# EMULATOR_ARCH_TRIPLE: 'aarch64'
5858

5959
runs-on: ${{ matrix.os }}
60-
env:
61-
ANDROID_API: ${{ matrix.ANDROID_API }}
62-
ANDROID_EMULATOR_ARCH: ${{ matrix.EMULATOR_ARCH }}
63-
ANDROID_EMULATOR_ARCH_TRIPLE: ${{ matrix.EMULATOR_ARCH_TRIPLE }}
64-
ANDROID_TARGET: 'default'
65-
#ANDROID_BUILD_TOOLS_VERSION: 36.0.0
66-
ANDROID_BUILD_TOOLS_VERSION: 'latest'
67-
BUILD_TOOLS_VERSION: "35.0.0"
68-
ANDROID_PROFILE: "Nexus 10"
69-
ANDROID_CHANNEL: "3"
70-
ANDROID_NDK_VERSION: "${{ matrix.NDK_VERSION }}"
7160
steps:
7261
- name: Free Disk Space
7362
if: runner.os == 'Linux'
@@ -79,14 +68,32 @@ jobs:
7968
8069
- name: Setup Android Environment
8170
run: |
82-
echo "$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/${{ env.ANDROID_BUILD_TOOLS_VERSION }}" >> $GITHUB_PATH
83-
# needed for Linux or else the emulator will be created in
84-
# ~/.android/avd but it will be sought in ~/.config/.android/avd
71+
echo "$ANDROID_HOME/cmdline-tools/latest/bin" >> $GITHUB_PATH
72+
echo "$ANDROID_HOME/emulator" >> $GITHUB_PATH
73+
echo "$ANDROID_HOME/tools" >> $GITHUB_PATH
74+
echo "$ANDROID_HOME/platform-tools" >> $GITHUB_PATH
75+
echo "$ANDROID_HOME/build-tools/latest" >> $GITHUB_PATH
76+
77+
echo "ANDROID_API=${{ matrix.ANDROID_API }}" >> $GITHUB_ENV
78+
echo "ANDROID_EMULATOR_ARCH=${{ matrix.EMULATOR_ARCH }}" >> $GITHUB_ENV
79+
echo "ANDROID_EMULATOR_ARCH_TRIPLE=${{ matrix.EMULATOR_ARCH_TRIPLE }}" >> $GITHUB_ENV
80+
echo "ANDROID_TARGET=default" >> $GITHUB_ENV
81+
echo "ANDROID_PROFILE="Nexus 10"" >> $GITHUB_ENV
82+
echo "ANDROID_CHANNEL=3" >> $GITHUB_ENV
83+
echo "ANDROID_NDK_VERSION=${{ matrix.NDK_VERSION }}" >> $GITHUB_ENV
84+
8585
if [[ "${RUNNER_OS}" == "Linux" ]]; then
86+
# needed for Linux or else the emulator will be created in
87+
# ~/.android/avd but it will be sought in ~/.config/.android/avd
8688
echo "ANDROID_AVD_HOME=${XDG_CONFIG_HOME:-$HOME}/.android/avd" >> $GITHUB_ENV
89+
90+
# enable KVM on Linux for emulator performance
91+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
92+
sudo udevadm control --reload-rules
93+
sudo udevadm trigger --name-match=kvm
8794
fi
8895
89-
- name: Android Emulator - Create
96+
- name: Create and Launch Android Emulator
9097
run: |
9198
sdkmanager --list_installed
9299
yes | sdkmanager --licenses > /dev/null
@@ -95,17 +102,9 @@ jobs:
95102
sdkmanager --install "${EMULATOR_SPEC}" "emulator"
96103
avdmanager create avd -n "${EMULATOR_NAME}" -k "${EMULATOR_SPEC}" --device "${ANDROID_PROFILE}"
97104
emulator -list-avds
105+
# launch the emulator in the background; we will cat the log at the end
98106
nohup emulator -memory 4096 -avd "${EMULATOR_NAME}" -wipe-data -no-window -no-snapshot -noaudio -no-boot-anim 2>&1 > emulator.log &
99107
100-
#- name: Android - Find AVDs
101-
# run: find ~/ -type d -name '*.avd'
102-
103-
#- name: Android - List AVDs
104-
# run: emulator -list-avds
105-
106-
#- name: Android - Boot
107-
# run: nohup emulator -memory 4096 -avd "${ANDROID_EMULATOR_NAME}" -wipe-data -no-window -no-snapshot -noaudio -no-boot-anim 2>&1 > emulator.log &
108-
109108
- name: Install Prerequisites
110109
run: |
111110
if [[ "${RUNNER_OS}" == "Linux" ]]; then
@@ -186,22 +185,12 @@ jobs:
186185
swiftly run swift build --swift-sdk "${ANDROID_EMULATOR_ARCH_TRIPLE}-unknown-linux-android${ANDROID_API}" --static-swift-stdlib
187186
file .build/debug/hello
188187
189-
- name: Enable KVM
190-
if: runner.os == 'Linux'
191-
run: |
192-
if [[ "${RUNNER_ARCH}" == "X64" ]]; then
193-
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
194-
sudo udevadm control --reload-rules
195-
sudo udevadm trigger --name-match=kvm
196-
fi
197-
198-
- name: ADB Wait For Device
188+
- name: Wait for Android Emulator
199189
run: adb wait-for-any-device
200190
timeout-minutes: 5
201191

202192
- name: Check Android Emulator
203-
run: |
204-
adb shell 'echo Hello Android!'
193+
run: adb shell 'echo Hello Android!'
205194

206195
- name: Run Swift Executable on Android Emulator
207196
run: |

0 commit comments

Comments
 (0)