Skip to content

LUCI try jobs for release branches should use correct builder/recipes #53371

@christopherfujino

Description

@christopherfujino

Here is an example of an engine hotfix PR: flutter/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.

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work listc: contributor-productivityTeam-specific productivity, code health, technical debt.team-infraOwned by Infrastructure team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions