diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml new file mode 100644 index 0000000000..1e5e03498a --- /dev/null +++ b/.github/workflows/android.yml @@ -0,0 +1,52 @@ +on: [push, pull_request] + +name: CI + + +jobs: + test: + runs-on: ubuntu-latest + + env: + ANDROID_SDK_ROOT: ${{ github.workspace }}/android-sdk + ANDROID_NDK_HOME: ${{ github.workspace }}/android-ndk + ANDROID_HOME: ${{ github.workspace }}/android-sdk + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up JDK + uses: actions/setup-java@v3 + with: + distribution: 'zulu' + java-version: '11' + + - name: Set up Android SDK + uses: android-actions/setup-android@v2 + with: + api-level: 30 + build-tools: 30.0.3 + ndk: 21.3.6528147 + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + components: rustfmt, clippy + + - name: Add Android targets + run: rustup target add aarch64-linux-android + + - name: Install cargo-ndk + run: cargo install cargo-ndk + + - name: Install cargo-mobile + run: cargo install --git https://github.com/BrainiumLLC/cargo-mobile + + - name: init + run: cargo mobile init + + - name: Run Tests on Android + run: cargo android test