Skip to content

Add android test step to pipeline #97

Add android test step to pipeline

Add android test step to pipeline #97

Workflow file for this run

name: Main Branch CI/CD
on:
push:
branches:
- 'main'
jobs:
test:
runs-on: ubuntu-latest
env:
CCDROIDX_RELEASE_KEYSTORE_PASSWORD: ${{ secrets.CCDROIDX_RELEASE_KEYSTORE_PASSWORD }}
CCDROIDX_RELEASE_KEY_ALIAS: ${{ secrets.CCDROIDX_RELEASE_KEY_ALIAS }}
CCDROIDX_RELEASE_KEY_ALIAS_PASSWORD: ${{ secrets.CCDROIDX_RELEASE_KEY_ALIAS_PASSWORD }}
CCDROIDX_RELEASE_KEYSTORE_PATH: release.keystore
GOOGLE_SERVICE_JSON: ${{ secrets.GOOGLE_SERVICE_JSON }}
steps:
- uses: actions/checkout@v3
- name: Stub release keystore file
run: |
touch release.keystore
- name: Decrypt google service json
run: |
TMP_GOOGLE_SERVICE_JSON_DIR="${RUNNER_TEMP}"/play
mkdir "${TMP_GOOGLE_SERVICE_JSON_DIR}"
echo $GOOGLE_SERVICE_JSON | base64 -di > "${TMP_GOOGLE_SERVICE_JSON_DIR}"/google-services.json
mv "${TMP_GOOGLE_SERVICE_JSON_DIR}"/google-services.json app/google-services.json
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: Set up Gradle
uses: gradle/gradle-build-action@v2
- name: Lint check
run: ./gradlew lintDebug
- name: Unit Test
run: ./gradlew testDebugUnitTest
androidTest:
runs-on: macOS-latest
env:
CCDROIDX_RELEASE_KEYSTORE_PASSWORD: ${{ secrets.CCDROIDX_RELEASE_KEYSTORE_PASSWORD }}
CCDROIDX_RELEASE_KEY_ALIAS: ${{ secrets.CCDROIDX_RELEASE_KEY_ALIAS }}
CCDROIDX_RELEASE_KEY_ALIAS_PASSWORD: ${{ secrets.CCDROIDX_RELEASE_KEY_ALIAS_PASSWORD }}
CCDROIDX_RELEASE_KEYSTORE_PATH: release.keystore
GOOGLE_SERVICE_JSON: ${{ secrets.GOOGLE_SERVICE_JSON }}
timeout-minutes: 90
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Stub release keystore file
run: |
touch release.keystore
- name: Decrypt google service json
run: |
TMP_GOOGLE_SERVICE_JSON_DIR="${RUNNER_TEMP}"/play
mkdir "${TMP_GOOGLE_SERVICE_JSON_DIR}"
echo $GOOGLE_SERVICE_JSON | base64 -di > "${TMP_GOOGLE_SERVICE_JSON_DIR}"/google-services.json
mv "${TMP_GOOGLE_SERVICE_JSON_DIR}"/google-services.json app/google-services.json
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: Set up Gradle
uses: gradle/gradle-build-action@v2
- name: Build AndroidTest apps
run: ./gradlew packageFlossDebug packageFlossDebugAndroidTest packageFullDebug packageFullDebugAndroidTest
- name: Run Android Test
run: ./gradlew testDevicesGroupDebugAndroidTest --no-parallel --max-workers=1
-Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true