Misc build system and CI changes

This commit is contained in:
snake-4
2024-05-03 18:10:02 +02:00
parent 3a72258df4
commit 8c7f376f16
3 changed files with 24 additions and 21 deletions

View File

@@ -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

View File

@@ -13,7 +13,8 @@ val abiList: List<String> 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<Sync>("prepareModuleFiles$variantCapped") {
val moduleFilesTask = task<Sync>("moduleFiles$variantCapped") {
group = "module"
dependsOn("assemble$variantCapped")
into(moduleDir)
@@ -68,9 +69,9 @@ androidComponents.onVariants { variant ->
}
}
task<Zip>("zip$variantCapped") {
task<Zip>("moduleZip$variantCapped") {
group = "module"
dependsOn(prepareModuleFilesTask)
dependsOn(moduleFilesTask)
archiveFileName.set(zipFileName)
destinationDirectory.set(zipOutDir)
from(moduleDir)

View File

@@ -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