Repository navigation
[ci] Checks unmerged batch release sync back before next release - #12868
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces the in-flight-release-check command to the Flutter plugin tools, which checks for unmerged remote release branches to prevent out-of-order releases. It also extracts a reusable writeGitHubActionsOutput helper method in PackageCommand and adds corresponding unit tests. The review feedback suggests using the named constant exitInvalidArguments instead of a magic number for the exit code, and correcting the type of the error handler parameter in tests from Error to Object since ToolExit is an Exception rather than an Error in Dart.
justinmc
left a comment
There was a problem hiding this comment.
LGTM 👍 . Thanks for patching this loophole.
| 'To unblock, land that release and its sync-back PR. If the sync-back PR cannot be landed ' | ||
| 'as-is, apply its version bump and changelog by hand instead; the release is already ' | ||
| 'published at that point, so those changes cannot be dropped. Only delete ' | ||
| '"$blockingBranch" if its release was never published.', |
There was a problem hiding this comment.
Is there any reason you have in mind why the sync-back PR wouldn't be able to land? Just curious.
Thanks for including instructions on how to handle this situation though, looks good.
There was a problem hiding this comment.
The scenarios I imagine are:
- the reviewer forgot to submit, or not in time when the next batch release pr is triggered (which is what happened last time)
- Something goes horribly wrong and for some reason main is conflict with release branch. (this is usually the aftermath of 1)
stuartmorgan-g
left a comment
There was a problem hiding this comment.
LGTM with nit
(I strongly dislike having CI-specific knowledge like writeGitHubActionsOutput in the tool, but I don't see a better alternative here unfortunately.)
| types: [batch-release-pr] | ||
|
|
||
| # Declare default permissions as read only. | ||
| permissions: read-all |
There was a problem hiding this comment.
Why do we need a new global permission setting?
There was a problem hiding this comment.
github action security scan warned that, if no permission set, using default permission can be too excessive.
…r#192876) flutter/packages@bebbb57...c2b58e1 2026-09-15 stuartmorgan@google.com [local_auth] Convert implementation to Kotlin (flutter/packages#12635) 2026-09-15 mhmmd.bayraktar@gmail.com [pigeon] Treat NSNull as null for non-null Flutter API returns (flutter/packages#12531) 2026-09-15 daniel.leon@cloudsufi.com [espresso] Adopt code-excerpts for README (flutter/packages#12644) 2026-09-15 daniel.leon@cloudsufi.com [pointer_interceptor] Adopt code-excerpts for README (flutter/packages#12641) 2026-09-15 47866232+chunhtai@users.noreply.github.com [ci] Checks unmerged batch release sync back before next release (flutter/packages#12868) 2026-09-15 puneetkukreja98@gmail.com [material_ui] Add sortIconBuilder to DataTable, PaginatedDataTable, and DataTableThemeData (flutter/packages#12645) 2026-09-15 10687576+bparrishMines@users.noreply.github.com [cross_file_platform_interface] Platform interface implementation of `cross_file` (flutter/packages#12825) 2026-09-15 10687576+bparrishMines@users.noreply.github.com [cross_file] Move cross_file into a federated cross_file directory (flutter/packages#12869) If this roll has caused a breakage, revert this CL and set the roller to dry run mode using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC flutter-ecosystem@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
To avoid the new batch release is created before sync back pr is merged. The workflow now checks for unmerged release branch before create a new one
Pre-Review Checklist
[shared_preferences]///).If you need help, consider asking for advice on the #hackers-new channel on Discord.
Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the
gemini-code-assistbot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.Footnotes
Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. ↩ ↩2