You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
LUCI try jobs for release branches should use correct builder/recipes #53371
Here is an example of an engine hotfix PR: flutter-team-archive/engine#17306. It passed on Cirrus because the cirrus config is checked in to the PR, but failed on LUCI pre-submit because the master builders were used, which used the latest version of the recipe, which had drifted since stable was cut.
We have hotfix builders that trigger based on a regex of the git refs https://github.com/flutter/infra/blob/master/config/main.star#L20, but when running presubmit, the ref is of the form "refs/pull/17306/head", i.e. it looks like any other PR against master and used the prod builder. Ideally, we should trigger the hotfix builder for PRs made against a hotfix branch (not sure if this is possible).
We should probably update the PR request handler in cocoon to specify the base_ref.
Action items:
Refactor BRANCHES dictionary in main.star to be an external JSON file release_branches.json and update relevant documentation. done.
Have cocoon read release_branches.json. We need to think about how this will be refreshed. It would be nice if there were some way to trigger cocoon manually to re-fetch it, so that when I update flutter/infra I don't have to wait for a cron job.
Update github_webhook.dart to test each incoming PR's "base" (branch) against the current beta and stable release branches from release_branches.json.
Replace //cocoon/app_dart/dev/branches.txt with testing-ref data from release_branches.json. Only stable and beta need to be considered.
Chris will remove hotfix builders once 1.12.13 is no longer stable.
@digiter However, the issue will still remain that beta/stable pre-submit PRs will use the prod try (master) builders for pre-submit, and are thus likely to be red as they use the wrong recipe version.
changed the title [-]LUCI presubmit builds use prod (latest) builders on hotfix PRs[/-][+]LUCI presubmit builds use prod (latest) builders on release branches[/+]on Jun 23, 2020
Cocoon already knows the branch but we don't have branch recipe configurations in the cocoon config file. After @keyonghan moves the config files to the repository under test then it will be easier to add per branch configs although it won't be the ideal configuration yet.
changed the title [-]LUCI presubmit builds use prod (latest) builders on release branches[/-][+]LUCI try jobs for release branches should use correct builder/recipes[/+]on Aug 20, 2020
FYI @keyonghan I created 4 action items. I'll land the first one this week since it blocks the rest, and then when either of us have extra cycles we can try to fill out the rest.
So it turns out reading a JSON file from a lucicfg file (i.e. main.star) is non-trivial, as it provides a to_json() built-in function API ref, but not a from_json().
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.
Activity
godofredoc commentedon Apr 15, 2020
@digiter would you mind taking a look?
digiter commentedon Apr 23, 2020
Chris will remove hotfix builders once 1.12.13 is no longer stable.
christopherfujino commentedon Apr 23, 2020
@digiter However, the issue will still remain that beta/stable pre-submit PRs will use the prod try (master) builders for pre-submit, and are thus likely to be red as they use the wrong recipe version.
[-]LUCI presubmit builds use prod (latest) builders on hotfix PRs[/-][+]LUCI presubmit builds use prod (latest) builders on release branches[/+]nturgut commentedon Jul 28, 2020
We encountered this issue in
flutter-1.20-candidate.7ex PR.I think a solution will be using github APIs, such as: https://api.github.com/repos/flutter/engine/pulls/20068 This returns JSON. Base object's label has the correct branch name for the PR.
@christopherfujino suggested adding it to cocoon.
godofredoc commentedon Jul 28, 2020
Cocoon already knows the branch but we don't have branch recipe configurations in the cocoon config file. After @keyonghan moves the config files to the repository under test then it will be easier to add per branch configs although it won't be the ideal configuration yet.
[-]LUCI presubmit builds use prod (latest) builders on release branches[/-][+]LUCI try jobs for release branches should use correct builder/recipes[/+]christopherfujino commentedon Sep 1, 2020
FYI @keyonghan I created 4 action items. I'll land the first one this week since it blocks the rest, and then when either of us have extra cycles we can try to fill out the rest.
christopherfujino commentedon Sep 3, 2020
So it turns out reading a JSON file from a
lucicfgfile (i.e.main.star) is non-trivial, as it provides ato_json()built-in function API ref, but not afrom_json().godofredoc commentedon Nov 18, 2021
This can be done with minimal effort in the following way:
godofredoc commentedon Nov 18, 2021
Here is the CL for the second step:
https://flutter-review.googlesource.com/c/infra/+/21660/2/config/recipes_config.star
\cc @CaseyHillers
CaseyHillers commentedon Nov 18, 2021
This is a much more elegant solution than I had in mind!
github-actions commentedon Mar 7, 2022
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.