Skip to content

Bot: Bump the androidx group with 2 updates #27

Bot: Bump the androidx group with 2 updates

Bot: Bump the androidx group with 2 updates #27

Workflow file for this run

name: Test
on:
push:
branches: [ workflow-github, master ]
paths-ignore:
- '*.md'
pull_request:
branches: [ master ]
paths-ignore:
- '*.md'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
cache-version: v1
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false"
timeout-minutes: 15
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
api-level: [ 29 ]
target: [ default , google_apis ]
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'adopt'
cache: gradle
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Gradle cache
uses: gradle/actions/setup-gradle@v4
# - name: Determine emulator target
# id: determine-target
# run: |
# if [ ${{ matrix.api-level }} -ge 29 ]; then
# echo "TARGET=default" >> $GITHUB_OUTPUT
# else
# echo "TARGET=google_apis" >> $GITHUB_OUTPUT
# fi
- name: Output target
run: echo "The TARGET is ${{ matrix.target }}"
- name: enable KVM for linux runners
if: runner.os == 'Linux'
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: AVD cache
uses: actions/cache@v4
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-ubuntu-${{ matrix.api-level }}-${{ env.cache-version }}
# - name: Wait for emulator to boot
# run: adb wait-for-device
- 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 }}
target: ${{ matrix.target }}
arch: x86_64
force-avd-creation: false
ram-size: 4096M
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
script: echo "Generated AVD snapshot for caching."
- name: Instrumentation tests
timeout-minutes: 60
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
force-avd-creation: false
ram-size: 4096M
avd-name: test
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
pre-emulator-launch-script: |
echo "Running pre emulator launch script. Printing the working directory now:"
pwd
script: |
./gradlew connectedCheck && killall -INT crashpad_handler || true
- name: Run device tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
target: ${{ matrix.target }}
arch: x86_64
force-avd-creation: false
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
profile: Nexus One
script: |
adb shell wm density 240
SKIP_ERRORPRONE=true SKIP_JAVADOC=true ./gradlew cAT --stacktrace -Dorg.gradle.workers.max=2
- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: test-results-${{ matrix.api-level }}-${{ matrix.target }}
path: |
**/build/reports/*
**/build/outputs/*/connected/*
if: always()
- name: Unit Tests
run: |
SKIP_ERRORPRONE=true SKIP_JAVADOC=true ./gradlew testDebugUnitTest \
--stacktrace --continue \
-Dorg.gradle.workers.max=2
# This is the best way I found to abort the job with an error message
- name: 'Notify about test failures'
uses: actions/github-script@v7
with:
script: core.setFailed('${{ steps.run-tests.outputs.error-message }}')
if: steps.run-tests.outputs.failure == 'true'