Add GitHub workflows to assist with release tasks#181978
Conversation
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
|
Is this Dart code? |
No. This uses the standard Github script action which is Node JS by default. We might not be able to actually use that action though, so I might have to rewrite this in some other way. This is a proof of concept. |
|
Discussed with @jtmcdole, and apparently the GitHub official actions are allowlisted as part of our actions that we can use. We explicitly added it as one of the actions allowed for this project. With that being the case, I personally think it's better to actually leave this as inline NodeJS code, for a few reasons:
|
|
Yeah, unless GitHub has an official dart package for this, I think its safe to stay on the JS package. For any testing of flutter code, we can stick to dart. |
There was a problem hiding this comment.
Code Review
This pull request introduces GitHub workflows for release automation and updates create_updated_flutter_deps.py to support Dart revision specification and refactor file processing. A high-severity code injection vulnerability was found in create_updated_flutter_deps.py where unsanitized dart_revision input from command-line arguments is written to a file executed as Python code, creating a supply chain attack risk. Additionally, the refactoring in create_updated_flutter_deps.py, despite fixing bugs, introduces code duplication that impacts readability and maintainability.
Roll Flutter from d3dd7744e81f to d18214307703 (33 revisions) flutter/flutter@d3dd774...d182143 2026-03-06 engine-flutter-autoroll@skia.org Roll Packages from 8d5c5cd to fe3de64 (2 revisions) (flutter/flutter#183308) 2026-03-06 engine-flutter-autoroll@skia.org Roll Dart SDK from 1b51451cdb99 to 7c7c1e3d024d (2 revisions) (flutter/flutter#183294) 2026-03-06 engine-flutter-autoroll@skia.org Roll Dart SDK from 9ac06cdd1801 to 1b51451cdb99 (9 revisions) (flutter/flutter#183289) 2026-03-06 jacksongardner@google.com Add GitHub workflows to assist with release tasks (flutter/flutter#181978) 2026-03-06 flar@google.com [Impeller] Fix new convex path shadow generation in perspective (flutter/flutter#183187) 2026-03-06 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#183178) 2026-03-05 ishaquehassan@gmail.com fix: use double quotes in settings.gradle.kts template (flutter/flutter#183081) 2026-03-05 victorsanniay@gmail.com Add fallbackColor for PredictiveBackPageTransitionBuilder and PredictiveBackFullscreenPageTransitionBuilder (flutter/flutter#182690) 2026-03-05 97480502+b-luk@users.noreply.github.com Simplify TesterContextGLES (multithreading logic not needed), and enable some tests that now pass (flutter/flutter#183250) 2026-03-05 engine-flutter-autoroll@skia.org Roll Skia from a94df1cdabb0 to a69ef43650ee (14 revisions) (flutter/flutter#183280) 2026-03-05 matt.kosarek@canonical.com Windowing implementation of `showDialog` that uses a native desktop window to display the content (flutter/flutter#181861) 2026-03-05 15619084+vashworth@users.noreply.github.com Build CocoaPod plugin frameworks for Add to App FlutterPluginRegistrant (flutter/flutter#183239) 2026-03-05 jason-simmons@users.noreply.github.com Extend the Linux web_skwasm_tests_1 timeout to 45 minutes (flutter/flutter#183247) 2026-03-05 liama@google.com Update Dart to 3.12 beta 2 (flutter/flutter#183251) 2026-03-05 116356835+AbdeMohlbi@users.noreply.github.com Replace the rest of the references to `flutter/engine` with `flutter/flutter` (flutter/flutter#182938) 2026-03-05 codefu@google.com chore: convert android_verified_input to pub-workspace (flutter/flutter#183175) 2026-03-05 victorsanniay@gmail.com Add await to flutter_test callsites (flutter/flutter#182983) 2026-03-05 okorohelijah@google.com [iOS] Skip gesture recognizer reset workaround on iOS 26+ (flutter/flutter#183186) 2026-03-05 okorohelijah@google.com Add warning for plugins not migrated to UIScene (flutter/flutter#182826) 2026-03-05 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from JJw5EJ87vLGqFVl4h... to 8ay15_eQOEgPHCypm... (flutter/flutter#183255) 2026-03-05 engine-flutter-autoroll@skia.org Roll Skia from ada0b7628c79 to a94df1cdabb0 (2 revisions) (flutter/flutter#183249) 2026-03-05 engine-flutter-autoroll@skia.org Roll Packages from 82baf93 to 8d5c5cd (2 revisions) (flutter/flutter#183269) 2026-03-05 36861262+QuncCccccc@users.noreply.github.com Add `UnlabaledLeafNodeEvaluation` (flutter/flutter#182872) 2026-03-04 34871572+gmackall@users.noreply.github.com Re-specify the ndk version in various test apps, to prevent ndk download (flutter/flutter#183134) 2026-03-04 nate.w5687@gmail.com Eliminate rebuilds for Scaffold FAB animation (flutter/flutter#182331) 2026-03-04 43498643+mkucharski17@users.noreply.github.com Add Michal Kucharski to AUTHORS (flutter/flutter#182366) 2026-03-04 jacksongardner@google.com Merge changelog from 3.41.4 stable. (flutter/flutter#183243) 2026-03-04 codedoctor@linwood.dev Allow stylus support on windows (flutter/flutter#165323) 2026-03-04 737941+loic-sharma@users.noreply.github.com Fix docs on SingletonFlutterWindow.supportsShowingSystemContextMenu (flutter/flutter#183142) 2026-03-04 engine-flutter-autoroll@skia.org Roll Packages from 9083bc9 to 82baf93 (5 revisions) (flutter/flutter#183240) 2026-03-04 11901536+romaingyh@users.noreply.github.com Fixes FocusHighlightMode on Android when typing in software keyboard (flutter/flutter#180753) 2026-03-04 97480502+b-luk@users.noreply.github.com Make compileShader() retry without sksl if it fails with sksl. (flutter/flutter#183146) 2026-03-04 zhongliu88889@gmail.com [web] Use pointer-events: auto for non-interactive leaf semantics nodes (flutter/flutter#183077) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC bmparr@google.com,stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: 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: ...
This is a PR which adds some new GitHub Action workflows which assist in release tasks for the engineer on the release rotation. ## Release Tracker This workflow creates a GitHub issue which tracks the release process for a particular release. When running the workflow, the engineer provides a version number, the release channel (beta or stable) and whether the release is a hotfix or not. The issue contains a checklist with all the steps needed for a particular release type and channel. I have been testing this workflow on a separate repository here: https://github.com/eyebrowsoffire/flutter_release_workflow_test You can see examples of the issues that were generated from the workflow here: Stable initial release: eyebrowsoffire/flutter_release_workflow_test#9 Stable hotfix release: eyebrowsoffire/flutter_release_workflow_test#10 Beta initial release: eyebrowsoffire/flutter_release_workflow_test#11 Beat hotfix release: eyebrowsoffire/flutter_release_workflow_test#12 ## Cut Release Branch This workflow creates a new `flutter-X.Y-candidate.0` branch with a commit which writes out the `bin/internal/release-candidate-branch.version` file with the proper branch name inside. The user supplies the version number and the git hash that the branch should be forked from. ## Roll Dart Dependencies This workflow creates a PR which updates the DEPS file with a new dart hash and updates the transitive dependencies with the `create_updated_flutter_deps.py` script. The user runs the workflow on a specific candidate branch and passes the dart hash to update to. Unlike the dart autoroller, this can be manually invoked on any branch. If the dart hash and deps are already up to date, the workflow succeeds and doesn't create a PR. ## Sync Engine Version This workflow creates a PR that updates the engine.version file. The user runs the workflow on a specific candidate branch, and the correct dart hash is automatically calculated by the workflow. If the engine hash is already up to date, the workflow succeeds and doesn't create a PR.
…ps.py` (flutter#183314) This line was accidentally deleted in flutter#181978, which has caused some of our autorollers to fail.
…r#11191) Roll Flutter from d3dd7744e81f to d18214307703 (33 revisions) flutter/flutter@d3dd774...d182143 2026-03-06 engine-flutter-autoroll@skia.org Roll Packages from 8d5c5cd to fe3de64 (2 revisions) (flutter/flutter#183308) 2026-03-06 engine-flutter-autoroll@skia.org Roll Dart SDK from 1b51451cdb99 to 7c7c1e3d024d (2 revisions) (flutter/flutter#183294) 2026-03-06 engine-flutter-autoroll@skia.org Roll Dart SDK from 9ac06cdd1801 to 1b51451cdb99 (9 revisions) (flutter/flutter#183289) 2026-03-06 jacksongardner@google.com Add GitHub workflows to assist with release tasks (flutter/flutter#181978) 2026-03-06 flar@google.com [Impeller] Fix new convex path shadow generation in perspective (flutter/flutter#183187) 2026-03-06 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#183178) 2026-03-05 ishaquehassan@gmail.com fix: use double quotes in settings.gradle.kts template (flutter/flutter#183081) 2026-03-05 victorsanniay@gmail.com Add fallbackColor for PredictiveBackPageTransitionBuilder and PredictiveBackFullscreenPageTransitionBuilder (flutter/flutter#182690) 2026-03-05 97480502+b-luk@users.noreply.github.com Simplify TesterContextGLES (multithreading logic not needed), and enable some tests that now pass (flutter/flutter#183250) 2026-03-05 engine-flutter-autoroll@skia.org Roll Skia from a94df1cdabb0 to a69ef43650ee (14 revisions) (flutter/flutter#183280) 2026-03-05 matt.kosarek@canonical.com Windowing implementation of `showDialog` that uses a native desktop window to display the content (flutter/flutter#181861) 2026-03-05 15619084+vashworth@users.noreply.github.com Build CocoaPod plugin frameworks for Add to App FlutterPluginRegistrant (flutter/flutter#183239) 2026-03-05 jason-simmons@users.noreply.github.com Extend the Linux web_skwasm_tests_1 timeout to 45 minutes (flutter/flutter#183247) 2026-03-05 liama@google.com Update Dart to 3.12 beta 2 (flutter/flutter#183251) 2026-03-05 116356835+AbdeMohlbi@users.noreply.github.com Replace the rest of the references to `flutter/engine` with `flutter/flutter` (flutter/flutter#182938) 2026-03-05 codefu@google.com chore: convert android_verified_input to pub-workspace (flutter/flutter#183175) 2026-03-05 victorsanniay@gmail.com Add await to flutter_test callsites (flutter/flutter#182983) 2026-03-05 okorohelijah@google.com [iOS] Skip gesture recognizer reset workaround on iOS 26+ (flutter/flutter#183186) 2026-03-05 okorohelijah@google.com Add warning for plugins not migrated to UIScene (flutter/flutter#182826) 2026-03-05 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from JJw5EJ87vLGqFVl4h... to 8ay15_eQOEgPHCypm... (flutter/flutter#183255) 2026-03-05 engine-flutter-autoroll@skia.org Roll Skia from ada0b7628c79 to a94df1cdabb0 (2 revisions) (flutter/flutter#183249) 2026-03-05 engine-flutter-autoroll@skia.org Roll Packages from 82baf93 to 8d5c5cd (2 revisions) (flutter/flutter#183269) 2026-03-05 36861262+QuncCccccc@users.noreply.github.com Add `UnlabaledLeafNodeEvaluation` (flutter/flutter#182872) 2026-03-04 34871572+gmackall@users.noreply.github.com Re-specify the ndk version in various test apps, to prevent ndk download (flutter/flutter#183134) 2026-03-04 nate.w5687@gmail.com Eliminate rebuilds for Scaffold FAB animation (flutter/flutter#182331) 2026-03-04 43498643+mkucharski17@users.noreply.github.com Add Michal Kucharski to AUTHORS (flutter/flutter#182366) 2026-03-04 jacksongardner@google.com Merge changelog from 3.41.4 stable. (flutter/flutter#183243) 2026-03-04 codedoctor@linwood.dev Allow stylus support on windows (flutter/flutter#165323) 2026-03-04 737941+loic-sharma@users.noreply.github.com Fix docs on SingletonFlutterWindow.supportsShowingSystemContextMenu (flutter/flutter#183142) 2026-03-04 engine-flutter-autoroll@skia.org Roll Packages from 9083bc9 to 82baf93 (5 revisions) (flutter/flutter#183240) 2026-03-04 11901536+romaingyh@users.noreply.github.com Fixes FocusHighlightMode on Android when typing in software keyboard (flutter/flutter#180753) 2026-03-04 97480502+b-luk@users.noreply.github.com Make compileShader() retry without sksl if it fails with sksl. (flutter/flutter#183146) 2026-03-04 zhongliu88889@gmail.com [web] Use pointer-events: auto for non-interactive leaf semantics nodes (flutter/flutter#183077) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC bmparr@google.com,stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: 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: ...
This is a PR which adds some new GitHub Action workflows which assist in release tasks for the engineer on the release rotation. ## Release Tracker This workflow creates a GitHub issue which tracks the release process for a particular release. When running the workflow, the engineer provides a version number, the release channel (beta or stable) and whether the release is a hotfix or not. The issue contains a checklist with all the steps needed for a particular release type and channel. I have been testing this workflow on a separate repository here: https://github.com/eyebrowsoffire/flutter_release_workflow_test You can see examples of the issues that were generated from the workflow here: Stable initial release: eyebrowsoffire/flutter_release_workflow_test#9 Stable hotfix release: eyebrowsoffire/flutter_release_workflow_test#10 Beta initial release: eyebrowsoffire/flutter_release_workflow_test#11 Beat hotfix release: eyebrowsoffire/flutter_release_workflow_test#12 ## Cut Release Branch This workflow creates a new `flutter-X.Y-candidate.0` branch with a commit which writes out the `bin/internal/release-candidate-branch.version` file with the proper branch name inside. The user supplies the version number and the git hash that the branch should be forked from. ## Roll Dart Dependencies This workflow creates a PR which updates the DEPS file with a new dart hash and updates the transitive dependencies with the `create_updated_flutter_deps.py` script. The user runs the workflow on a specific candidate branch and passes the dart hash to update to. Unlike the dart autoroller, this can be manually invoked on any branch. If the dart hash and deps are already up to date, the workflow succeeds and doesn't create a PR. ## Sync Engine Version This workflow creates a PR that updates the engine.version file. The user runs the workflow on a specific candidate branch, and the correct dart hash is automatically calculated by the workflow. If the engine hash is already up to date, the workflow succeeds and doesn't create a PR.
…ps.py` (flutter#183314) This line was accidentally deleted in flutter#181978, which has caused some of our autorollers to fail.
This is a PR which adds some new GitHub Action workflows which assist in release tasks for the engineer on the release rotation. ## Release Tracker This workflow creates a GitHub issue which tracks the release process for a particular release. When running the workflow, the engineer provides a version number, the release channel (beta or stable) and whether the release is a hotfix or not. The issue contains a checklist with all the steps needed for a particular release type and channel. I have been testing this workflow on a separate repository here: https://github.com/eyebrowsoffire/flutter_release_workflow_test You can see examples of the issues that were generated from the workflow here: Stable initial release: eyebrowsoffire/flutter_release_workflow_test#9 Stable hotfix release: eyebrowsoffire/flutter_release_workflow_test#10 Beta initial release: eyebrowsoffire/flutter_release_workflow_test#11 Beat hotfix release: eyebrowsoffire/flutter_release_workflow_test#12 ## Cut Release Branch This workflow creates a new `flutter-X.Y-candidate.0` branch with a commit which writes out the `bin/internal/release-candidate-branch.version` file with the proper branch name inside. The user supplies the version number and the git hash that the branch should be forked from. ## Roll Dart Dependencies This workflow creates a PR which updates the DEPS file with a new dart hash and updates the transitive dependencies with the `create_updated_flutter_deps.py` script. The user runs the workflow on a specific candidate branch and passes the dart hash to update to. Unlike the dart autoroller, this can be manually invoked on any branch. If the dart hash and deps are already up to date, the workflow succeeds and doesn't create a PR. ## Sync Engine Version This workflow creates a PR that updates the engine.version file. The user runs the workflow on a specific candidate branch, and the correct dart hash is automatically calculated by the workflow. If the engine hash is already up to date, the workflow succeeds and doesn't create a PR.
…ps.py` (flutter#183314) This line was accidentally deleted in flutter#181978, which has caused some of our autorollers to fail.
…r#11191) Roll Flutter from d3dd7744e81f to d18214307703 (33 revisions) flutter/flutter@d3dd774...d182143 2026-03-06 engine-flutter-autoroll@skia.org Roll Packages from 8d5c5cd to fe3de64 (2 revisions) (flutter/flutter#183308) 2026-03-06 engine-flutter-autoroll@skia.org Roll Dart SDK from 1b51451cdb99 to 7c7c1e3d024d (2 revisions) (flutter/flutter#183294) 2026-03-06 engine-flutter-autoroll@skia.org Roll Dart SDK from 9ac06cdd1801 to 1b51451cdb99 (9 revisions) (flutter/flutter#183289) 2026-03-06 jacksongardner@google.com Add GitHub workflows to assist with release tasks (flutter/flutter#181978) 2026-03-06 flar@google.com [Impeller] Fix new convex path shadow generation in perspective (flutter/flutter#183187) 2026-03-06 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#183178) 2026-03-05 ishaquehassan@gmail.com fix: use double quotes in settings.gradle.kts template (flutter/flutter#183081) 2026-03-05 victorsanniay@gmail.com Add fallbackColor for PredictiveBackPageTransitionBuilder and PredictiveBackFullscreenPageTransitionBuilder (flutter/flutter#182690) 2026-03-05 97480502+b-luk@users.noreply.github.com Simplify TesterContextGLES (multithreading logic not needed), and enable some tests that now pass (flutter/flutter#183250) 2026-03-05 engine-flutter-autoroll@skia.org Roll Skia from a94df1cdabb0 to a69ef43650ee (14 revisions) (flutter/flutter#183280) 2026-03-05 matt.kosarek@canonical.com Windowing implementation of `showDialog` that uses a native desktop window to display the content (flutter/flutter#181861) 2026-03-05 15619084+vashworth@users.noreply.github.com Build CocoaPod plugin frameworks for Add to App FlutterPluginRegistrant (flutter/flutter#183239) 2026-03-05 jason-simmons@users.noreply.github.com Extend the Linux web_skwasm_tests_1 timeout to 45 minutes (flutter/flutter#183247) 2026-03-05 liama@google.com Update Dart to 3.12 beta 2 (flutter/flutter#183251) 2026-03-05 116356835+AbdeMohlbi@users.noreply.github.com Replace the rest of the references to `flutter/engine` with `flutter/flutter` (flutter/flutter#182938) 2026-03-05 codefu@google.com chore: convert android_verified_input to pub-workspace (flutter/flutter#183175) 2026-03-05 victorsanniay@gmail.com Add await to flutter_test callsites (flutter/flutter#182983) 2026-03-05 okorohelijah@google.com [iOS] Skip gesture recognizer reset workaround on iOS 26+ (flutter/flutter#183186) 2026-03-05 okorohelijah@google.com Add warning for plugins not migrated to UIScene (flutter/flutter#182826) 2026-03-05 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from JJw5EJ87vLGqFVl4h... to 8ay15_eQOEgPHCypm... (flutter/flutter#183255) 2026-03-05 engine-flutter-autoroll@skia.org Roll Skia from ada0b7628c79 to a94df1cdabb0 (2 revisions) (flutter/flutter#183249) 2026-03-05 engine-flutter-autoroll@skia.org Roll Packages from 82baf93 to 8d5c5cd (2 revisions) (flutter/flutter#183269) 2026-03-05 36861262+QuncCccccc@users.noreply.github.com Add `UnlabaledLeafNodeEvaluation` (flutter/flutter#182872) 2026-03-04 34871572+gmackall@users.noreply.github.com Re-specify the ndk version in various test apps, to prevent ndk download (flutter/flutter#183134) 2026-03-04 nate.w5687@gmail.com Eliminate rebuilds for Scaffold FAB animation (flutter/flutter#182331) 2026-03-04 43498643+mkucharski17@users.noreply.github.com Add Michal Kucharski to AUTHORS (flutter/flutter#182366) 2026-03-04 jacksongardner@google.com Merge changelog from 3.41.4 stable. (flutter/flutter#183243) 2026-03-04 codedoctor@linwood.dev Allow stylus support on windows (flutter/flutter#165323) 2026-03-04 737941+loic-sharma@users.noreply.github.com Fix docs on SingletonFlutterWindow.supportsShowingSystemContextMenu (flutter/flutter#183142) 2026-03-04 engine-flutter-autoroll@skia.org Roll Packages from 9083bc9 to 82baf93 (5 revisions) (flutter/flutter#183240) 2026-03-04 11901536+romaingyh@users.noreply.github.com Fixes FocusHighlightMode on Android when typing in software keyboard (flutter/flutter#180753) 2026-03-04 97480502+b-luk@users.noreply.github.com Make compileShader() retry without sksl if it fails with sksl. (flutter/flutter#183146) 2026-03-04 zhongliu88889@gmail.com [web] Use pointer-events: auto for non-interactive leaf semantics nodes (flutter/flutter#183077) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC bmparr@google.com,stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: 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: ...
This is a PR which adds some new GitHub Action workflows which assist in release tasks for the engineer on the release rotation.
Release Tracker
This workflow creates a GitHub issue which tracks the release process for a particular release. When running the workflow, the engineer provides a version number, the release channel (beta or stable) and whether the release is a hotfix or not. The issue contains a checklist with all the steps needed for a particular release type and channel.
I have been testing this workflow on a separate repository here: https://github.com/eyebrowsoffire/flutter_release_workflow_test
You can see examples of the issues that were generated from the workflow here:
Stable initial release: eyebrowsoffire/flutter_release_workflow_test#9
Stable hotfix release: eyebrowsoffire/flutter_release_workflow_test#10
Beta initial release: eyebrowsoffire/flutter_release_workflow_test#11
Beat hotfix release: eyebrowsoffire/flutter_release_workflow_test#12
Cut Release Branch
This workflow creates a new
flutter-X.Y-candidate.0branch with a commit which writes out thebin/internal/release-candidate-branch.versionfile with the proper branch name inside. The user supplies the version number and the git hash that the branch should be forked from.Roll Dart Dependencies
This workflow creates a PR which updates the DEPS file with a new dart hash and updates the transitive dependencies with the
create_updated_flutter_deps.pyscript. The user runs the workflow on a specific candidate branch and passes the dart hash to update to. Unlike the dart autoroller, this can be manually invoked on any branch. If the dart hash and deps are already up to date, the workflow succeeds and doesn't create a PR.Sync Engine Version
This workflow creates a PR that updates the engine.version file. The user runs the workflow on a specific candidate branch, and the correct dart hash is automatically calculated by the workflow. If the engine hash is already up to date, the workflow succeeds and doesn't create a PR.