shithub: opus

Download patch

ref: b3ed2bb9cb8572fff947ca6ec9584f63afd8410e
parent: 3252cddd55cd61b5a8b4398d2e3c4c09a4fb7a47
author: Ralph Giles <giles@thaumas.net>
date: Tue Jul 1 05:55:18 EDT 2025

github actions: Update to Android NDK 27c

Github actions continuous integration builds were failing
for Android targets because the specified `android.toolchain.cmake`
file was not available on the specified runner.

Github documents the runner images has having the lastest
stable NDK as well as the previous two LTS releases. We
were specifying 25.2.9519653, first released in 2022.
https://github.com/actions/runner-images/blob/releases/ubuntu24/20250629/README.md#software-and-image-support

Instead specify r27c, released in 2024 and still the
current LTS release.
https://developer.android.com/ndk/downloads/revision_history

Also move the version to a shared ENV variable for easier
updating.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>

--- a/.github/workflows/cmake.yml
+++ b/.github/workflows/cmake.yml
@@ -2,6 +2,9 @@
 
 on: [push, pull_request]
 
+env:
+  NDK_VERSION: 27.2.12479018
+
 jobs:
   CMakeVersionTest:
     name: Test build with CMake 3.16.0
@@ -62,7 +65,7 @@
             name: "Android/So/ARMv8/Release",
             os: ubuntu-latest,
             config: Release,
-            args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/25.2.9519653/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_SHARED_LIBS=ON"
+            args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/${NDK_VERSION}/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_SHARED_LIBS=ON"
           }
         # TODO: Android ARMv7
         # - {
@@ -69,19 +72,19 @@
         #     name: "Android/So/ARMv7/Release",
         #     os: ubuntu-latest,
         #     config: Release,
-        #     args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/25.2.9519653/build/cmake/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_SHARED_LIBS=ON"
+        #     args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/${NDK_VERSION}/build/cmake/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_SHARED_LIBS=ON"
         #   }
         - {
             name: "Android/So/X86/Release",
             os: ubuntu-latest,
             config: Release,
-            args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/25.2.9519653/build/cmake/android.toolchain.cmake -DANDROID_ABI=x86 -DBUILD_SHARED_LIBS=ON"
+            args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/${NDK_VERSION}/build/cmake/android.toolchain.cmake -DANDROID_ABI=x86 -DBUILD_SHARED_LIBS=ON"
           }
         - {
             name: "Android/So/X64/Release",
             os: ubuntu-latest,
             config: Release,
-            args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/25.2.9519653/build/cmake/android.toolchain.cmake -DANDROID_ABI=x86_64 -DBUILD_SHARED_LIBS=ON"
+            args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/${NDK_VERSION}/build/cmake/android.toolchain.cmake -DANDROID_ABI=x86_64 -DBUILD_SHARED_LIBS=ON"
           }
         - {
             name: "Windows/Dll/X86/Release",
@@ -174,7 +177,7 @@
             name: "Android/Lib/ARMv8/Release",
             os: ubuntu-latest,
             config: Release,
-            args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/25.2.9519653/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a"
+            args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/${NDK_VERSION}/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a"
           }
         # TODO: Android ARMv7
         # - {
@@ -181,19 +184,19 @@
         #     name: "Android/Lib/ARMv7/Release",
         #     os: ubuntu-latest,
         #     config: Release,
-        #     args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/25.2.9519653/build/cmake/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a"
+        #     args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/${NDK_VERSION}/build/cmake/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a"
         #   }
         - {
             name: "Android/Lib/X86/Release",
             os: ubuntu-latest,
             config: Release,
-            args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/25.2.9519653/build/cmake/android.toolchain.cmake -DANDROID_ABI=x86"
+            args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/${NDK_VERSION}/build/cmake/android.toolchain.cmake -DANDROID_ABI=x86"
           }
         - {
             name: "Android/Lib/X64/Release",
             os: ubuntu-latest,
             config: Release,
-            args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/25.2.9519653/build/cmake/android.toolchain.cmake -DANDROID_ABI=x86_64"
+            args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/${NDK_VERSION}/build/cmake/android.toolchain.cmake -DANDROID_ABI=x86_64"
           }
         - {
             name: "CustomModes/Linux/Lib/X64/Release",
--