GitHub Actionsでエミュレータテストをする

GitHub Actionsでエミュレータでテストを回したかったので調べてみました。

結論、AutoDisposeでエミュレータでテストを行っていたので、それをアレンジする感じがいいと思います。詳しくは AutoDispose/ci.yml を見てください。

エミュレータテストをするスクリプト

特にキャッシュとかを考えないなら、以下のスクリプトで動きます。

name: CI

on: [push, pull_request]

jobs:
  build:
    name: JDK 1.8
    runs-on: macOS-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v1
      - name: Install JDK 1.8
        uses: actions/setup-java@v1
        with:
          java-version: 1.8
      - name: Install Android SDK
        uses: malinskiy/action-android/install-sdk@release/0.0.5
      - name: Build project
        run: ./gradlew assemble --stacktrace
      - name: Run instrumentation tests
        uses: malinskiy/action-android/emulator-run-cmd@release/0.0.5
        with:
          cmd: ./gradlew connectedCheck --stacktrace
          api: 25
          tag: default
          abi: x86

malinskiy/action-androidという、便利GitHub Actionがあるので、それを呼び出すだけでおkです。

あとは、cmd: ./gradlew connectedCheck --stacktraceみたいな感じで、自分のプロジェクトに適したテストコマンドをコールするだけでいけます。stacktraceを出しておくと、デバッグのときなどに便利です。

結果 はこんな感じになります。

まとめ

Written by