Skip to content

fix(ci): raise the embedded example to Flutter's Gradle and AGP minimums (FR-26112) - #148

Merged
dianaKhortiuk-frontegg merged 3 commits into
masterfrom
fix/gradle-wrapper-flutter-minimum
Aug 25, 2026
Merged

dianaKhortiuk-frontegg merged 3 commits into
masterfrom
fix/gradle-wrapper-flutter-minimum

Conversation

@dianaKhortiuk-frontegg

@dianaKhortiuk-frontegg dianaKhortiuk-frontegg commented Aug 19, 2026 •

Copy link
Copy Markdown
Collaborator

E2E fails before any test runs, on every branch

The Demo Embedded E2E (Flutter) job dies during the APK build. Current Flutter refuses to build an Android app below its declared minimums, and it reports them one at a time:

1. Error: Your project's Gradle version (8.8.0) is lower than Flutter's
   minimum supported version of 8.14.0.

2. (after fixing that) Error: Your project's Android Gradle Plugin version
   (8.6.0) is lower than Flutter's minimum supported version of 8.11.1.

This is not caused by a change in the repo:

  • release/next passed this job on 2026-08-11
  • docs/fix-associated-domain-app-id, a documentation-only branch, failed it on 2026-08-14
  • #147, which changes one markdown file, fails it today

It broke between the 11th and the 14th, from a Flutter release rather than a commit here.

The change

Two lines, both in the embedded example — the app this workflow builds:

Was Now
Gradle wrapper 8.8 8.14.3
Android Gradle Plugin 8.6.0 8.11.1

8.14.3 is the lowest published Gradle satisfying the floor — 8.14.0 does not exist, the line starts at plain 8.14. AGP 8.11.1 is the floor exactly. Staying on Gradle 8.x keeps AGP compatibility; 9.x would be a major jump. The example already runs Kotlin 2.1.0 and compileSdk 36, so no further upgrade is implied.

Deliberately not included

hosted and application_id sit below the same floors, on AGP 8.4.0 with Kotlin 1.9.10. Neither is built by CI, so any bump there is unverifiable from here, and AGP 8.11.1 against Kotlin 1.9.10 may well need a Kotlin upgrade alongside it. I would rather leave them for a change that can actually be tested than push a speculative one. They will fail the same way the moment anyone builds them.

The plugin's own android/gradle/wrapper stays at 8.2 — it is consumed by the host project's Gradle, not built through Flutter's app pipeline, so the check does not apply.

Verification

Flutter is not installed on my machine, so CI on this PR is the check. The first bump already proved the mechanism: it cleared the Gradle error and surfaced the AGP one. If a third floor appears, it will be visible the same way.

🤖 Generated with Claude Code

dianaKhortiuk-frontegg and others added 2 commits August 19, 2026 08:52
Recent Flutter releases refuse to build an Android app whose Gradle is below
8.14.0. The embedded example pinned 8.8, so the E2E workflow now fails during
the APK build, before any test runs:

  Error: Your project's Gradle version (8.8.0) is lower than Flutter's
  minimum supported version of 8.14.0.

hosted and application_id pinned 8.6 and would fail the same way when built.
All three move to 8.14.3 - the lowest published release that satisfies the
floor, staying on 8.x for compatibility with the AGP versions in use (8.6 for
embedded, 8.4 for the other two).

The plugin's own android/gradle wrapper is left at 8.2. It is not built
through Flutter's app pipeline, so the check does not apply to it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ums (FR-26112)

Current Flutter refuses to build an Android app below its declared floors, and
the checks fire one at a time. Gradle 8.8 tripped the first; raising it to
8.14.3 exposed the second, an AGP floor of 8.11.1 against the project's 8.6.0.

Both are now raised for the embedded example, which is the app the E2E
workflow builds.

hosted and application_id sit below the same floors, on AGP 8.4.0 with Kotlin
1.9.10. They are not built by CI, so a bump there could not be verified here
and might need a Kotlin upgrade alongside it; they are left for a change that
can be tested.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@dianaKhortiuk-frontegg dianaKhortiuk-frontegg changed the title fix(ci): raise the example apps' Gradle to Flutter's minimum (FR-26112) fix(ci): raise the embedded example to Flutter's Gradle and AGP minimums (FR-26112) Aug 19, 2026
…-26112)

Third floor in the chain. Clearing the Gradle minimum exposed the AGP one,
and clearing that exposed Kotlin: the project pins 2.1.0 against a declared
minimum of 2.2.20.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@dianaKhortiuk-frontegg
dianaKhortiuk-frontegg merged commit 9c2e213 into master Aug 25, 2026
12 checks passed
dianaKhortiuk-frontegg added a commit that referenced this pull request Sep 22, 2026
…ugbot summaries (#151)

The merge workflow pasted the PR description into a single-quoted
`echo -e '...'`, so any apostrophe ended the string and the rest ran as shell.
#148 and #149 both failed that way ("Both: command not found", exit 127), so no
release PR was opened after either merge. Descriptions now reach the step
through an environment variable and are written with printf, which also stops
backslashes being reinterpreted and keeps a line reading EOF from truncating the
step output.

Cursor Bugbot writes a summary into the release PR description. The
release-PR-updated workflow copied the whole description into CHANGELOG.md, and
every commit made Bugbot rewrite the summary (it names the commit), which edited
the description and committed again: 14 commits in a few minutes on
release/next. The Bugbot block is now stripped before the changelog is written,
so a Bugbot edit regenerates an identical file and there is nothing to commit.
The same stripping applies to the merge workflow and to the GitHub release notes.

The release-PR-updated workflow also wrote an unset step output when no
CHANGELOG.old.md existed; it now writes the description.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants