[RFR-772] Fix CI test #197
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow ensures the connected tests keep working | |
# | |
# @author Armin Schnabel | |
# @version 1.0.0 | |
# @since 7.4.0 | |
name: Gradle Connected Tests | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build: | |
# Faster, but MacOS costs 8 ct/min instead of 0.8 ct/min of on Linux. | |
# Unfortunately, `DataCapturingServiceTest.testDisconnectReconnect` fails on linux stack. | |
# But as this is a public repository, Github Actions are currently free of charge. | |
runs-on: macos-latest # as recommended in `actions/android-emulator-runner` | |
# To test against multiple APIs | |
strategy: | |
matrix: | |
api-level: [ 28 ] | |
steps: | |
- name: Checkout commit | |
uses: actions/checkout@v3 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: '11' | |
- name: Add gradle.properties | |
run: | | |
# Use a personal read token to install the Cyface Utils package | |
cp gradle.properties.template gradle.properties | |
echo "githubUser=${{ secrets.GH_READ_ACCOUNT }}" >> gradle.properties | |
echo "githubToken=${{ secrets.GH_READ_TOKEN }}" >> gradle.properties | |
# Not executing build here on MacOS stack (10x costs, if private repository) | |
#- name: Build with Gradle | |
# run: ./gradlew build | |
# Add caching to speed up connected tests below (see `actions/android-emulator-runner`) | |
- name: Gradle cache | |
uses: gradle/gradle-build-action@v2 | |
#- name: AVD cache | |
# uses: actions/cache@v3 | |
# id: avd-cache | |
# with: | |
# path: | | |
# ~/.android/avd/* | |
# ~/.android/adb* | |
# key: avd-${{ matrix.api-level }} | |
#- name: Create AVD and generate snapshot for caching | |
# if: steps.avd-cache.outputs.cache-hit != 'true' | |
# uses: reactivecircus/android-emulator-runner@v2 | |
# with: | |
# api-level: ${{ matrix.api-level }} | |
# force-avd-creation: false | |
# disable-animations: true | |
# script: echo "Generated AVD snapshot for caching." | |
# Only execute mock tests to exclude `@FlakyTest`s (instead of running `connectedCheck`) | |
- name: Connected tests | |
uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
api-level: ${{ matrix.api-level }} | |
force-avd-creation: false | |
emulator-options: -no-snapshot-save | |
disable-animations: true | |
script: ./gradlew :persistence:connectedDebugAndroidTest :datacapturing:connectedCyfaceMockDebugAndroidTest :synchronization:connectedCyfaceMockDebugAndroidTest :datacapturing:connectedMovebisMockDebugAndroidTest :synchronization:connectedMovebisMockDebugAndroidTest | |
# To execute a single test class | |
#script: ./gradlew :datacapturing:connectedCyfaceMockDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=de.cyface.datacapturing.DataCapturingServiceTest |