Skip to content

Conversation

@XilaiZhang
Copy link
Contributor

This pull request is opened against a release branch.

To request a cherry pick of a commit, please fill in the form below.
(Questions with an asterisk are required.)

To fill in the form, you can edit this PR description and type your answers after the 'My Answer' keywords.

A flutter domain expert will evaluate this cherry pick request shortly after ALL questions are answered.

  • Changelog Description: Explain this cherry pick in one line that is accessible to most Flutter developers
    See https://github.com/flutter/flutter/wiki/Hotfix-Documentation-Best-Practices for examples (Bug fix, feature, docs update, ...)

    My Answer:

  • Impacted Users: Approximately who will hit this issue (ex. all Flutter devs, Windows developers, all end-customers, apps using X framework feature)?

    My Answer:

  • impact_description: What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

    My Answer:

  • Workaround: Is there a workaround for this issue?

    My Answer:

  • Risk: What is the risk level of this cherry-pick?

    My Answer:

    • Low
    • Medium
    • High
  • Test Coverage: Are you confident that your fix is well-tested by automated tests?

    My Answer:

    • Yes
    • No
  • Validation Steps: What are the steps to validate that this fix works?

    My Answer:

mdebbar and others added 2 commits December 4, 2023 22:43
The tree is red due a non-hermetic customer test from `macos_ui`. The
test was disabled in flutter/tests#317 and an
issue was filed at macosui/macos_ui#499.

We need this empty commit in order to re-run CI with the latest
https://github.com/flutter/tests.
@XilaiZhang XilaiZhang added the cp: review Cherry-picks in the review queue label Dec 4, 2023
@github-actions github-actions bot added the tool Affects the "flutter" command-line tool. See also t: labels. label Dec 4, 2023
@XilaiZhang
Copy link
Contributor Author

Looks like the label is applied successfully

@XilaiZhang XilaiZhang closed this Dec 5, 2023
auto-submit bot pushed a commit that referenced this pull request Dec 12, 2023
**design doc: go/easy-cp**
umbrella design doc: go/flutter-actions
umbrella bug: #139604 

**Sample Results**:
1. If cherry pick succeeds, a pull request with cherry pick template and label is created.
#139523
2. If cherry pick fails, a comment is added under the original Pull Request.
flutter/cocoon#3305

In tests, [7d9010](7d9010c) was used to simulate a clean cherry pick, and [cf71a5](cf71a55) was used to simulate a merge conflict during cherry pick.

**Implementation Details:**
1. triggered when 'cp: beta' or 'cp:stable' label is added to the original PR
4. parses release channel and gets release candidate branch name
5. get commit sha from event payload
6. checks out framework repo and revision history
7. Attempt a cherry pick without any resolution strategy
8. If cp is successful, uses a PR template to open a pull request. 
9. If cp isn't successful, leave a comment on the original PR.

**PR template**
Since PR template doesn't support web form, the cherry pick PR template we used is https://github.com/XilaiZhang/miscellaneous-side-project/blob/master/.github/workflows/template/cherrypick.md, which is adapted from the [web form cherry pick issue template](https://cs.opensource.google/flutter/flutter/+/master:.github/ISSUE_TEMPLATE/7_cherry_pick.yml).
This PR template should be reviewed and added to be under the .github path in framework repository. 

**Decisions Taken**
1. place of source code
I put the source code under the framework repository. Acknowledges the risk of duplication of code, in favor of not needing to package and publish our own actions to market place.
more details in [open discussions section of design doc](https://docs.google.com/document/d/1EUyJ9NCAltxJq3P3pIzIRVF2ArPUO4cj_eqIUvzl8cw/edit#heading=h.e3zrsz9gwxmp)

2. Resolution strategy
No resolution strategy is applied at all during the cherry pick process. [more details](https://docs.google.com/document/d/1EUyJ9NCAltxJq3P3pIzIRVF2ArPUO4cj_eqIUvzl8cw/edit#heading=h.3za1b9qx6pi2)

**Future Work**
A PAT token is needed for authorization to create branch and add comment. We would need to create a new bot and update its credentials in the secrets section of flutter/flutter repository.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cp: review Cherry-picks in the review queue tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants