This commit is contained in:
@@ -17,6 +17,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
needs: tests
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
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'
|
||||||
|
|
||||||
|
- name: Upload test report
|
||||||
|
if: always()
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: unit-test-report
|
||||||
|
path: app/build/reports/tests/testDebugUnitTest
|
||||||
Reference in New Issue
Block a user