Skip to content

Commit 32ab72e

Browse files
committed
ci: cap Gradle below 9.6, which no AGP 8.x can build with
Dependabot proposed Gradle 9.7.1 (#13) and it broke the Android build: Plugin 'com.android.internal.application' relies on 'org.gradle.api.problems.internal.InternalProblems', a Gradle internal API that was removed in Gradle 9.6.0. ... or use Gradle 9.5. Gradle 9.6.0 dropped an internal API that every AGP 8.x depends on. AGP is deliberately held at 8.x here because AGP 9 is not Flutter-ready, so the two are coupled: Gradle cannot move past 9.5 until that migration happens. The previous rule only ignored Gradle *majors*, so 9.6+ sailed through as a minor. Nothing would have stopped it: ci.yml runs format, analyze and test, none of which invoke Gradle, so #13's `validate` check passed green while the app could not build at all. Caught by building locally rather than trusting the check. Verified by isolation — Gradle 9.7.1 + AGP 8.13.2 fails; Gradle 9.3.1 with the same AGP 8.13.2 and protobuf 4.36.1 builds. Lift this cap together with the AGP 9 move.
1 parent 84c4bba commit 32ab72e

1 file changed

Lines changed: 18 additions & 3 deletions

File tree

.github/dependabot.yml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,28 @@ updates:
1818
open-pull-requests-limit: 3
1919
labels: ["dependencies"]
2020
# The Flutter ecosystem (3.47.2 + common plugins like audio_session)
21-
# isn't ready for AGP 9, Kotlin 2.3, or Gradle 9. Holding these until
22-
# Flutter and plugins migrate to built-in Kotlin + the new DSL.
21+
# isn't ready for AGP 9 or Kotlin 2.3. Holding these until Flutter and
22+
# plugins migrate to built-in Kotlin + the new DSL.
2323
# AGP 9.x specifically introduces breaking changes (built-in Kotlin,
2424
# new DSL, kotlinOptions removal) that Flutter's gradle plugin does
2525
# not yet support — verified on Flutter 3.47.2. Patch + minor under
2626
# the current majors still come through.
2727
# Track https://docs.flutter.dev/release/breaking-changes/migrate-to-built-in-kotlin
28+
#
29+
# Gradle is capped at 9.5.x, which is tighter than "no majors". Gradle
30+
# 9.6.0 removed the internal `org.gradle.api.problems.internal.
31+
# InternalProblems` API that every AGP 8.x relies on, so 9.6+ fails the
32+
# build outright:
33+
#
34+
# Plugin 'com.android.internal.application' relies on
35+
# 'org.gradle.api.problems.internal.InternalProblems', a Gradle internal
36+
# API that was removed in Gradle 9.6.0. ... or use Gradle 9.5.
37+
#
38+
# Because AGP is pinned to 8.x above, the two are coupled: Gradle cannot
39+
# move past 9.5 until AGP 9 becomes viable. Nothing in CI catches this —
40+
# ci.yml never runs Gradle — so a 9.6+ bump looks green and breaks every
41+
# release build. Verified locally: Gradle 9.7.1 + AGP 8.13.2 fails,
42+
# 9.3.1 + AGP 8.13.2 builds. Lift this together with the AGP 9 move.
2843
ignore:
2944
- dependency-name: "com.android.application"
3045
update-types: ["version-update:semver-major"]
@@ -35,7 +50,7 @@ updates:
3550
- dependency-name: "org.jetbrains.kotlin:kotlin-gradle-plugin"
3651
update-types: ["version-update:semver-major", "version-update:semver-minor"]
3752
- dependency-name: "gradle"
38-
update-types: ["version-update:semver-major"]
53+
versions: [">=9.6"]
3954

4055
- package-ecosystem: "github-actions"
4156
directory: "/"

0 commit comments

Comments
 (0)