From ce8568b51cd36513d9097f1909ffb51fb2041306 Mon Sep 17 00:00:00 2001 From: Damontecres Date: Wed, 5 Nov 2025 17:26:03 -0500 Subject: [PATCH] Get CI working --- .github/actions/native-build/action.yml | 16 ++++++++--- .github/actions/setup/action.yml | 5 ++++ .github/workflows/main.yml | 36 ++++--------------------- .github/workflows/pr.yml | 4 +-- .github/workflows/release.yml | 24 ++++------------- .gitignore | 1 + app/build.gradle.kts | 2 +- 7 files changed, 31 insertions(+), 57 deletions(-) diff --git a/.github/actions/native-build/action.yml b/.github/actions/native-build/action.yml index f276b4f0..09f0a370 100644 --- a/.github/actions/native-build/action.yml +++ b/.github/actions/native-build/action.yml @@ -44,13 +44,14 @@ runs: run: | python -m pip install --upgrade pip pip install jsonschema jinja2 - apt install -y build-essential autoconf pkg-config libtool ninja-build unzip wget meson + sudo apt update + sudo apt install -y build-essential autoconf pkg-config libtool ninja-build unzip wget meson - name: Get libmpv dependencies if: steps.cache_libmpv_module.outputs.cache-hit != 'true' shell: bash run: | cd scripts/mpv - ./get_dependencies + ./get_dependencies.sh - name: Build libmpv dependencies if: steps.cache_libmpv_module.outputs.cache-hit != 'true' shell: bash @@ -59,8 +60,15 @@ runs: ./buildall.sh --clean --arch arm64 mpv ./buildall.sh mpv cd ../.. - env PREFIX32="$(realpath prefix/armv7l)" PREFIX64="$(realpath prefix/arm64)" ndk-build -C app/src/main -j - ln -s app/src/main/libs app/src/main/jnilibs + env PREFIX32="$(realpath scripts/mpv/prefix/armv7l)" PREFIX64="$(realpath scripts/mpv/prefix/arm64)" ndk-build -C app/src/main -j + + - name: Setup jniLibs + shell: bash + run: | + cd app/src/main + mkdir -p jniLibs + cp -r libs/* jniLibs + #ln -s libs jniLibs - name: Save libmpv module cache id: cache_libmpv_module_save uses: actions/cache/save@v4 diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 1a05ca86..c15461ed 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -19,3 +19,8 @@ runs: uses: android-actions/setup-android@v3 with: packages: "tools platform-tools build-tools;36.0.0 ndk;29.0.14206865" + - name: Add NDK to path + shell: bash + run: | + echo "Adding to path: ${{ env.ANDROID_SDK_ROOT }}/ndk/29.0.14206865:${{ env.ANDROID_SDK_ROOT }}/ndk/29.0.14206865/toolchains/llvm/prebuilt/linux-x86_64/bin" + echo "${{ env.ANDROID_SDK_ROOT }}/ndk/29.0.14206865:${{ env.ANDROID_SDK_ROOT }}/ndk/29.0.14206865/toolchains/llvm/prebuilt/linux-x86_64/bin" >> $GITHUB_PATH diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cc6d85a5..bb8628ea 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,8 +18,6 @@ env: APK_SHORT_NAME: Wholphin-release.apk APK_DEBUG_SHORT_NAME: Wholphin-debug.apk BRANCH_NAME: ${{ github.ref_name }} - BUILD_TOOLS_VERSION: 36.0.0 - NDK_VERSION: "29.0.14206865" jobs: build: @@ -31,17 +29,12 @@ jobs: uses: actions/checkout@v5 with: fetch-depth: 0 # Need the tags to build - # Setup the SDKs - - name: Setup JDK - uses: actions/setup-java@v5 + - name: Setup + uses: ./.github/actions/setup + - name: Native build + uses: ./.github/actions/native-build with: - distribution: zulu - java-version: '21' - cache: 'gradle' - - name: Setup Android SDK - uses: android-actions/setup-android@v3 - with: - packages: "tools platform-tools build-tools;${{ env.BUILD_TOOLS_VERSION }} ndk;${{ env.NDK_VERSION }}" + cache: true - name: Get version names run: | @@ -56,25 +49,6 @@ jobs: echo "LATEST_TAG=$LATEST_TAG" >> "$GITHUB_ENV" echo "VERSION_NAME=$VERSION_NAME" >> "$GITHUB_ENV" echo "TAG_NAME=$TAG_NAME" >> "$GITHUB_ENV" - - name: Load ffmpeg module cache - id: cache_ffmpeg_module - uses: actions/cache/restore@v4 - with: - path: | - app/libs - key: ${{ runner.os }}-ffmpeg-${{ hashFiles('**/libs.versions.toml', '**/build_ffmpeg_decoder.sh') }} - - name: Build ffmpeg decoder - id: ffmpeg-decoder - if: steps.cache_ffmpeg_module.outputs.cache-hit != 'true' - run: | - ./build_ffmpeg_decoder.sh "${{ env.ANDROID_SDK_ROOT }}/ndk/${{ env.NDK_VERSION }}" - - name: Save ffmpeg module cache - id: cache_ffmpeg_module_save - uses: actions/cache/save@v4 - with: - path: | - app/libs - key: ${{ steps.cache_ffmpeg_module.outputs.cache-primary-key }} - name: Build release app id: build env: diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 70a0a593..5929d71d 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -42,11 +42,11 @@ jobs: - name: Build app id: buildapp run: | - ./gradlew clean build + ./gradlew clean assembleDebug echo "apk=$(ls app/build/outputs/apk/debug/Wholphin-debug*.apk)" >> "$GITHUB_OUTPUT" - name: Tar build dirs run: | - tar -czf build.tgz */build/. + tar -czf build.tgz ./app/. - uses: actions/upload-artifact@v5 id: upload-build-dirs with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 287664af..4b6a89bb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,8 +11,6 @@ defaults: env: APK_SHORT_NAME: Wholphin.apk - BUILD_TOOLS_VERSION: 36.0.0 - NDK_VERSION: "29.0.14206865" jobs: publish: @@ -24,24 +22,12 @@ jobs: uses: actions/checkout@v5 with: fetch-depth: 0 # Need the tags to build - - name: Setup Python - uses: actions/setup-python@v5 + - name: Setup + uses: ./.github/actions/setup + - name: Native build + uses: ./.github/actions/native-build with: - python-version: '3.12' - - name: Setup JDK - uses: actions/setup-java@v5 - with: - distribution: zulu - java-version: '21' - cache: 'gradle' - - name: Setup Android SDK - uses: android-actions/setup-android@v3 - with: - packages: "tools platform-tools build-tools;${{ env.BUILD_TOOLS_VERSION }} ndk;${{ env.NDK_VERSION }}" - - name: Build ffmpeg decoder - id: ffmpeg-decoder - run: | - ./build_ffmpeg_decoder.sh "${{ env.ANDROID_SDK_ROOT }}/ndk/${{ env.NDK_VERSION }}" + cache: false - name: Build app id: buildapp env: diff --git a/.gitignore b/.gitignore index d2a269d9..87328089 100644 --- a/.gitignore +++ b/.gitignore @@ -57,6 +57,7 @@ app/debug/ # mpv app/src/main/obj/ app/src/main/libs/ +app/src/main/jnilibs app/src/main/jnilibs/ scripts/mpv/deps/ scripts/mpv/prefix/ diff --git a/app/build.gradle.kts b/app/build.gradle.kts index d9b47b8f..486a31fd 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -150,7 +150,7 @@ android { abi { isEnable = false reset() -// include("armeabi-v7a", "arm64-v8a") + include("armeabi-v7a", "arm64-v8a") isUniversalApk = true } }