diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fa6a563..63a7dcf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,7 @@ name: CI - on: [push] +permissions: + contents: write jobs: build: @@ -21,28 +22,29 @@ jobs: uses: gradle/actions/setup-gradle@v3 - name: Build with Gradle - run: | - chmod +x ./gradlew - ./gradlew zipRelease - ./gradlew zipDebug + run: ./gradlew moduleZipRelease moduleZipDebug - - name: Prepare artifact + - name: Set CI Variables if: success() id: prepareArtifact run: | - releaseName=`ls module/build/outputs/release/*-release.zip | awk -F '(/|.zip)' '{print $5}'` && echo "releaseName=$releaseName" >> $GITHUB_OUTPUT - debugName=`ls module/build/outputs/release/*-debug.zip | awk -F '(/|.zip)' '{print $5}'` && echo "debugName=$debugName" >> $GITHUB_OUTPUT - unzip module/build/outputs/release/*-release.zip -d extracted-release - unzip module/build/outputs/release/*-debug.zip -d extracted-debug + echo "releaseName=$(basename module/build/out/*-release.zip .zip)" >> $GITHUB_OUTPUT + echo "debugName=$(basename module/build/out/*-debug.zip .zip)" >> $GITHUB_OUTPUT - - name: Upload release + - name: Upload Release Artifact uses: actions/upload-artifact@v4 with: name: ${{ steps.prepareArtifact.outputs.releaseName }} - path: "./extracted-release/*" + path: "module/build/out/release" - - name: Upload debug + - name: Upload Debug Artifact uses: actions/upload-artifact@v4 with: name: ${{ steps.prepareArtifact.outputs.debugName }} - path: "./extracted-debug/*" + path: "module/build/out/debug" + + - name: Create a release + if: startsWith(github.ref, 'refs/tags/v') + uses: softprops/action-gh-release@v2 + with: + files: module/build/out/*.zip diff --git a/module/build.gradle.kts b/module/build.gradle.kts index ff69599..c072801 100644 --- a/module/build.gradle.kts +++ b/module/build.gradle.kts @@ -13,7 +13,8 @@ val abiList: List by rootProject.extra android { namespace = "com.example.library" - compileSdkVersion = "android-31" + compileSdkVersion = "android-34" + ndkVersion = "26.3.11579264" defaultConfig { minSdk = 21 externalNativeBuild { @@ -35,11 +36,11 @@ androidComponents.onVariants { variant -> val buildTypeLowered = variant.buildType?.lowercase() val libOutDir = layout.buildDirectory.dir("intermediates/stripped_native_libs/$variantLowered/strip${variantCapped}DebugSymbols/out/lib").get() - val moduleDir = layout.buildDirectory.dir("outputs/module/$variantLowered").get() - val zipOutDir = layout.buildDirectory.dir("outputs/release").get() + val moduleDir = layout.buildDirectory.dir("out/$variantLowered").get() + val zipOutDir = layout.buildDirectory.dir("out/").get() val zipFileName = "$moduleName-$verName-$commitHash-$buildTypeLowered.zip".replace(' ', '-') - val prepareModuleFilesTask = task("prepareModuleFiles$variantCapped") { + val moduleFilesTask = task("moduleFiles$variantCapped") { group = "module" dependsOn("assemble$variantCapped") into(moduleDir) @@ -68,9 +69,9 @@ androidComponents.onVariants { variant -> } } - task("zip$variantCapped") { + task("moduleZip$variantCapped") { group = "module" - dependsOn(prepareModuleFilesTask) + dependsOn(moduleFilesTask) archiveFileName.set(zipFileName) destinationDirectory.set(zipOutDir) from(moduleDir) diff --git a/module/jni/Application.mk b/module/jni/Application.mk index 1db1d73..2efefa7 100644 --- a/module/jni/Application.mk +++ b/module/jni/Application.mk @@ -1,4 +1,4 @@ APP_ABI := armeabi-v7a arm64-v8a x86 x86_64 APP_CPPFLAGS := -std=c++20 -fno-exceptions -fno-rtti -fvisibility=hidden -fvisibility-inlines-hidden APP_STL := none -APP_PLATFORM := android-31 +APP_PLATFORM := android-34