Gradle-Build-Cache aktivieren und unsigned AAB-Build hinzufügen#116
Gradle-Build-Cache aktivieren und unsigned AAB-Build hinzufügen#116Android-PowerUser wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Review Summary
This PR successfully implements Gradle build cache activation and unsigned AAB builds. The core changes are solid:
✅ Build cache enabled in gradle.properties
✅ Release signing check correctly scoped to assembleRelease tasks only
✅ 16KB alignment verification extended to AAB bundles
✅ CI workflow updated with appropriate JVM memory settings
✅ Unsigned AAB build and upload steps added
Critical Issue (1)
Cache Invalidation: The GitHub Actions cache key includes source file patterns which will invalidate the cache on every code change, significantly reducing cache effectiveness.
The PR is well-structured and aligns with the stated goals. Once the cache key issue is addressed, this will provide meaningful CI performance improvements.
You can now have the agent implement changes and create commits directly on your pull request's source branch. Simply comment with /q followed by your request in natural language to ask the agent to make changes.
| uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.gradle/build-cache | ||
| key: gradle-build-cache-${{ runner.os }}-${{ hashFiles('**/*.gradle.kts', '**/gradle.properties', 'app/src/**', 'humanoperator/src/**') }} |
There was a problem hiding this comment.
🛑 Cache Invalidation Issue: The cache key includes source file patterns (app/src/**, humanoperator/src/**) which will invalidate the build cache on every source code change, defeating its purpose. The Gradle build cache is content-based and doesn't need source files in the cache key. Remove source patterns to maximize cache hits across builds.
| key: gradle-build-cache-${{ runner.os }}-${{ hashFiles('**/*.gradle.kts', '**/gradle.properties', 'app/src/**', 'humanoperator/src/**') }} | |
| key: gradle-build-cache-${{ runner.os }}-${{ hashFiles('**/*.gradle.kts', '**/gradle.properties') }} |
Motivation
assemble*Release*-Tasks erzwingen, damitbundleReleasefür AABs unsigned möglich bleibt.Description
gradle.properties: Build-Cache aktiviert durch Setzen vonorg.gradle.caching=true.app/build.gradle.kts: Namens- und Logikänderung der Release-Check-Variable vonisReleaseTaskRequestedzuisAssembleReleaseRequested, die nun nur auf Tasks prüft, die sowohlassembleals auchreleaseenthalten, und dadurchbundleReleasenicht blockiert.app/build.gradle.kts: Die 16KB-Verify-Task-Abhängigkeit wird zusätzlich anbundle$variantNameCapgehängt (assembleoderbundleführen nun das Verify aus)..github/workflows/manual.yml: Imbuild-Job nachSet up JDK 17einactions/cache-Step für~/.gradle/build-cachehinzugefügt; CI-sed-Fix entfernt nun diekotlin.daemon.jvmargs-Zeile und erhöhtorg.gradle.jvmargsauf-Xmx3072m; der Release-AAB-Build (:app:bundleRelease) und Upload laufen nun nach den APK-Uploads; die Build-Summary wurde erweitert, um AAB-Artefakte zu erwähnen.Testing
./gradlew :app:compileDebugKotlinwurde lokal ausgeführt und endete mitBUILD SUCCESSFUL(16 tasks ausgeführt).git diff --checkwurde ausgeführt und es wurden keine whitespace-/diff-Fehler gefunden.Codex Task