From 45139640ebb44916285cd3f17af8f69aa9f14991 Mon Sep 17 00:00:00 2001 From: vantablackTea Date: Wed, 16 Sep 2026 00:32:47 +0300 Subject: [PATCH] ci: added mandatory tests to build release --- .gitea/workflows/release.yml | 1 + .gitea/workflows/tests.yml | 58 ++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 .gitea/workflows/tests.yml diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index d9dc729..d82d5e7 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -17,6 +17,7 @@ on: jobs: build: + needs: tests runs-on: ubuntu-latest permissions: contents: read diff --git a/.gitea/workflows/tests.yml b/.gitea/workflows/tests.yml new file mode 100644 index 0000000..02d4e40 --- /dev/null +++ b/.gitea/workflows/tests.yml @@ -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 \ No newline at end of file