Skip to content

Try to get Android to run on CI #16

Try to get Android to run on CI

Try to get Android to run on CI #16

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
- 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 \
/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: 29
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