name: HyperChanger - Github Actions Building 'on': push: branches: - main pull_request: branches: - main jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up JDK 21 uses: actions/setup-java@v4 with: java-version: '21' distribution: temurin cache: gradle - name: Install Android NDK r30 uses: android-actions/setup-android@v3 with: packages: 'ndk;30.0.16248370' - name: Verify Android NDK shell: bash run: | set -euo pipefail echo "ANDROID_HOME=${ANDROID_HOME:-}" echo "ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT:-}" SDK_ROOT="${ANDROID_HOME:-${ANDROID_SDK_ROOT:-}}" if [ -z "$SDK_ROOT" ]; then echo "Android SDK path is not set." exit 1 fi NDK_DIR="$SDK_ROOT/ndk/30.0.16248370" test -f "$NDK_DIR/source.properties" cat "$NDK_DIR/source.properties" - name: Configure project NDK path shell: bash run: | set -euo pipefail SDK_ROOT="${ANDROID_HOME:-${ANDROID_SDK_ROOT:-}}" NDK_DIR="$SDK_ROOT/ndk/30.0.16248370" mkdir -p .build-tmp rm -rf .build-tmp/android-ndk-r30 ln -s "$NDK_DIR" .build-tmp/android-ndk-r30 test -f .build-tmp/android-ndk-r30/source.properties - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build with Gradle run: ./gradlew --no-daemon --stacktrace assembleDebug - name: Upload Debug APK uses: actions/upload-artifact@v4 with: name: HyperChanger-debug path: app/build/outputs/apk/debug/*.apk if-no-files-found: error