diff --git a/.github/workflows/build_debug.yml b/.github/workflows/build_debug.yml index 6f269bf36..51330f2e5 100644 --- a/.github/workflows/build_debug.yml +++ b/.github/workflows/build_debug.yml @@ -3,16 +3,14 @@ name: Build Debug APK on: push: branches: - - '*' + - 'main' paths-ignore: - '**.md' - '**.yml' - pull_request: - branches: - - '*' + pull_request_review: paths-ignore: - '**.md' - types: [opened, reopened] + types: submitted workflow_dispatch: @@ -50,7 +48,7 @@ jobs: with: releaseDir: app/build/outputs/apk/debug signingKeyBase64: ${{ secrets.KEY_BASE64 }} - alias: ${{ secrets.ALIAS }} + alias: ${{ secrets.KEY_ALIAS }} keyStorePassword: ${{ secrets.KEYSTORE_PASS }} keyPassword: ${{ secrets.KEYSTORE_PASS }} - name: Remove file that aren't signed diff --git a/.github/workflows/release_build.yml b/.github/workflows/release_build.yml index f6b104677..1e52e35f8 100644 --- a/.github/workflows/release_build.yml +++ b/.github/workflows/release_build.yml @@ -23,7 +23,10 @@ jobs: uses: actions/checkout@v4.1.0 with: submodules: true - + + - name: Validate Gradle Wrapper + uses: gradle/wrapper-validation-action@v1 + - name: Set up Java 17 uses: actions/setup-java@v3.13.0 with: @@ -33,22 +36,26 @@ jobs: - name: Grant execution permission to Gradle Wrapper run: chmod +x gradlew - + - name: Build Release APK - run: ./gradlew assembleRelease + uses: gradle/gradle-build-action@v2.9.0 + with: + arguments: assembleRelease - name: Checks - run: cd app/build && ls -R + run: find . -type f -name "*.apk" - uses: r0adkll/sign-android-release@v1 name: Sign app APK id: sign_app with: - releaseDirectory: app/release + releaseDirectory: app/build/outputs/apk/release signingKeyBase64: ${{ secrets.KEY_BASE64 }} - alias: ${{ secrets.ALIAS }} + alias: ${{ secrets.KEY_ALIAS }} keyStorePassword: ${{ secrets.KEYSTORE_PASS }} keyPassword: ${{ secrets.KEYSTORE_PASS }} + env: + BUILD_TOOLS_VERSION: "34.0.0" - uses: actions/upload-artifact@v3.1.3 with: diff --git a/app/proguard.pro b/app/proguard.pro index 6aa812e8d..950af2e28 100644 --- a/app/proguard.pro +++ b/app/proguard.pro @@ -3,7 +3,6 @@ # Disable ServiceLoader reproducibility-breaking optimizations -keep class kotlinx.coroutines.CoroutineExceptionHandler -keep class kotlinx.coroutines.internal.MainDispatcherFactory --keep class com.looker.core.common.R$drawable -dontwarn kotlinx.serialization.KSerializer -dontwarn kotlinx.serialization.Serializable diff --git a/app/src/main/res/raw/keep.xml b/app/src/main/res/raw/keep.xml deleted file mode 100644 index 3b9412bbe..000000000 --- a/app/src/main/res/raw/keep.xml +++ /dev/null @@ -1,3 +0,0 @@ - - diff --git a/build-logic/structure/src/main/kotlin/DefaultConfig.kt b/build-logic/structure/src/main/kotlin/DefaultConfig.kt index 6d0b2b5f9..d0010d38a 100644 --- a/build-logic/structure/src/main/kotlin/DefaultConfig.kt +++ b/build-logic/structure/src/main/kotlin/DefaultConfig.kt @@ -1,4 +1,5 @@ object DefaultConfig { + // Update [release_build.yml] along with this const val buildTools: String = "34.0.0" const val appId = "com.looker.droidify" const val compileSdk = 34 diff --git a/core/common/src/main/res/raw/keep.xml b/core/common/src/main/res/raw/keep.xml deleted file mode 100644 index 3b9412bbe..000000000 --- a/core/common/src/main/res/raw/keep.xml +++ /dev/null @@ -1,3 +0,0 @@ - - diff --git a/core/data/build.gradle.kts b/core/data/build.gradle.kts index 899a5c57d..ad3deed7e 100644 --- a/core/data/build.gradle.kts +++ b/core/data/build.gradle.kts @@ -8,7 +8,8 @@ android { buildTypes { release { - isMinifyEnabled = true + // TODO: Enable once using + isMinifyEnabled = false proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt")) } create("alpha") { diff --git a/gradle.properties b/gradle.properties index 0aae9743d..8a727282a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,8 +14,9 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xmx6g -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g android.useAndroidX=true org.gradle.parallel=true +android.nonFinalResIds=true android.enableJetifier=false +android.enableR8.fullMode=true android.nonTransitiveRClass=true -android.defaults.buildfeatures.buildconfig=false -android.nonFinalResIds=true org.gradle.unsafe.configuration-cache=true +android.defaults.buildfeatures.buildconfig=false