Skip to content

Try to get Android to run on CI #20

Try to get Android to run on CI

Try to get Android to run on CI #20

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