Skip to content

Conversation

@CaseyHillers
Copy link
Contributor

Fixes flutter/flutter#139313

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read the [Flutter Style Guide] recently, and have followed its advice.
  • I signed the [CLA].
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is [test-exempt].
  • All existing and new tests are passing.

Copy link
Contributor

@keyonghan keyonghan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@CaseyHillers CaseyHillers added the autosubmit Merge PR when tree becomes green via auto submit App. label Dec 1, 2023
@auto-submit auto-submit bot merged commit 8517373 into flutter:main Dec 1, 2023
@XilaiZhang
Copy link
Contributor

An automated cherry pick for this PR was attempted due to the cherry pick label added. However, the cherry pick failed (potentially due to a merge confclit). You will need to create the cherry pick PR pull request manually and add chillers as a reviewer.

@XilaiZhang
Copy link
Contributor

An automated cherry pick for this PR was attempted due to the cherry pick label added.
However, the cherry pick failed (potentially due to a merge confclit).
You will need to create the cherry pick PR pull request manually and add chillers as a reviewer.

4 similar comments
@XilaiZhang
Copy link
Contributor

An automated cherry pick for this PR was attempted due to the cherry pick label added.
However, the cherry pick failed (potentially due to a merge confclit).
You will need to create the cherry pick PR pull request manually and add chillers as a reviewer.

@XilaiZhang
Copy link
Contributor

An automated cherry pick for this PR was attempted due to the cherry pick label added.
However, the cherry pick failed (potentially due to a merge confclit).
You will need to create the cherry pick PR pull request manually and add chillers as a reviewer.

@XilaiZhang
Copy link
Contributor

An automated cherry pick for this PR was attempted due to the cherry pick label added.
However, the cherry pick failed (potentially due to a merge confclit).
You will need to create the cherry pick PR pull request manually and add chillers as a reviewer.

@XilaiZhang
Copy link
Contributor

An automated cherry pick for this PR was attempted due to the cherry pick label added.
However, the cherry pick failed (potentially due to a merge confclit).
You will need to create the cherry pick PR pull request manually and add chillers as a reviewer.

@XilaiZhang
Copy link
Contributor

An automated cherry pick for this PR was attempted due to the cherry pick label added.
However, the cherry pick failed (potentially due to a merge confclit).
You will need to create the cherry pick PR pull request manually and add chillers as a reviewer.

1 similar comment
@XilaiZhang
Copy link
Contributor

An automated cherry pick for this PR was attempted due to the cherry pick label added.
However, the cherry pick failed (potentially due to a merge confclit).
You will need to create the cherry pick PR pull request manually and add chillers as a reviewer.

auto-submit bot pushed a commit to flutter/flutter 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.
@XilaiZhang
Copy link
Contributor

Failed to create CP due to merge conflicts.
You will need to create the PR manually. See the cherrypick wiki for more info.

@XilaiZhang
Copy link
Contributor

Failed to create CP due to merge conflicts.
You will need to create the PR manually. See the cherrypick wiki for more info.

2 similar comments
@XilaiZhang
Copy link
Contributor

Failed to create CP due to merge conflicts.
You will need to create the PR manually. See the cherrypick wiki for more info.

@XilaiZhang
Copy link
Contributor

Failed to create CP due to merge conflicts.
You will need to create the PR manually. See the cherrypick wiki for more info.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Release targets are incorrectly getting the recipe from HEAD

3 participants