Try to get Android to run on CI #20
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: XHarness Android Test | |
on: | |
pull_request: | |
push: | |
branches: [ main, 'releases/**' ] | |
release: | |
types: [ published ] | |
jobs: | |
android: | |
name: Android | |
runs-on: ubuntu-22.04 | |
env: | |
TEST_TARGET_FRAMEWORK: net8.0-android | |
TEST_RUNTIME_IDENTIFIER: android-x64 | |
TEST_CONFIGURATION: Release | |
TEST_EMULATOR_IMAGE: system-images;android-34;google_apis;x86_64 | |
TEST_EMULATOR_DEVICE: pixel_5 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Setup Required Tools | |
uses: ./.github/workflows/setup-tools | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'microsoft' | |
java-version: '21' | |
- name: Install Android SDK Packages | |
run: | | |
set | |
dotnet android sdk install --package "platform-tools" | |
dotnet android sdk install --package "cmdline-tools;latest" | |
dotnet android sdk install --package "platforms;android-34" | |
dotnet android sdk list --installed | |
dotnet android sdk info | |
- name: Publish App | |
run: | | |
dotnet publish sample/SampleMauiApp/SampleMauiApp.csproj \ | |
-f ${{ env.TEST_TARGET_FRAMEWORK }} \ | |
-r ${{ env.TEST_RUNTIME_IDENTIFIER }} \ | |
-c ${{ env.TEST_CONFIGURATION }} \ | |
-p:TestingMode=XHarness \ | |
-p:AndroidSdkDirectory=$ANDROID_SDK_ROOT \ | |
/bl:./artifacts/logs/msbuild-publish.binlog | |
- name: Enable KVM | |
run: | | |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
sudo udevadm control --reload-rules | |
sudo udevadm trigger --name-match=kvm | |
- name: run tests | |
uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
api-level: 34 | |
script: dotnet xharness android test --package-name com.companyname.samplemauiapp --instrumentation devicerunners.xharness.maui.XHarnessInstrumentation --app sample/SampleMauiApp/bin/${{ env.TEST_CONFIGURATION }}/${{ env.TEST_TARGET_FRAMEWORK }}/${{ env.TEST_RUNTIME_IDENTIFIER }}/publish/com.companyname.samplemauiapp-Signed.apk --output-directory artifacts | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v1 | |
if: ${{ always() }} | |
with: | |
name: Test Results - Android | |
path: ./artifacts |