51 lines
1.7 KiB
YAML
51 lines
1.7 KiB
YAML
name: Unit Tests
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
unit-tests:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up JDK 17
|
|
run: |
|
|
set -euxo pipefail
|
|
cd /tmp
|
|
wget -q https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.12%2B7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.12_7.tar.gz
|
|
tar -xzf OpenJDK17U-jdk_x64_linux_hotspot_17.0.12_7.tar.gz -C /opt
|
|
mv /opt/jdk-17.0.12+7 /opt/java17
|
|
export JAVA_HOME=/opt/java17
|
|
export PATH=$JAVA_HOME/bin:$PATH
|
|
echo "JAVA_HOME=/opt/java17" >> $GITHUB_ENV
|
|
echo "$JAVA_HOME/bin" >> $GITHUB_PATH
|
|
|
|
- name: Install Android SDK
|
|
run: |
|
|
set -euxo pipefail
|
|
echo "ANDROID_HOME=/opt/android-sdk" >> "$GITHUB_ENV"
|
|
mkdir -p /opt/android-sdk/cmdline-tools
|
|
wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O /tmp/clt.zip
|
|
unzip -q /tmp/clt.zip -d /tmp/clt
|
|
mv /tmp/clt/cmdline-tools /opt/android-sdk/cmdline-tools/latest
|
|
yes | /opt/android-sdk/cmdline-tools/latest/bin/sdkmanager --licenses >/dev/null 2>&1 || true
|
|
/opt/android-sdk/cmdline-tools/latest/bin/sdkmanager \
|
|
"platform-tools" \
|
|
"platforms;android-36.1" \
|
|
"build-tools;36.1.0"
|
|
|
|
- name: Grant execute permission for gradlew
|
|
run: chmod +x gradlew
|
|
|
|
- name: Run JVM unit tests
|
|
run: ./gradlew :app:testDebugUnitTest --console=plain
|
|
env:
|
|
ANDROID_HOME: /opt/android-sdk
|
|
GRADLE_OPTS: '-Dorg.gradle.daemon=false' |