Skip to content

Conversation

@keyonghan
Copy link
Contributor

Following flutter/flutter#120912 (comment) to make doc clear.

```
- Send PR, wait for the checks to go green (**the change takes effect on presubmit**)
3. If the check is red, add patches to get it green
4. Once the PR has landed, infrastructure may take 1 or 2 commits to apply the latest properties
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm confused; it takes effect immediately for presubmit, but not for postsubmit? So property changes still can't be landed in the same PR as changes that require them (like removing bring up)?

Or is this not the case for properties?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good point. Properties should take effect immediately for both presubmit and postsubmit. Now we are on cocoon scheduling, which fetches latest properties and use them to schedule builds. Updated.

Copy link
Contributor

Choose a reason for hiding this comment

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

So item 4 here should be removed, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We still need it. The properties will be seen by the current PR/commit immediately, but there are cases where we need to wait, such incoming PRs/commits, which haven't rebased on top of that changing PR, and local LED runs.

Expanded a bit. Please let me know if this makes sense to you.

Copy link
Contributor

Choose a reason for hiding this comment

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

Another case is caches. While dependencies can be upgraded, there may be some slow downs on the initial roll out due to cache invalidation

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added one more item to cover.

Copy link
Contributor

@stuartmorgan-g stuartmorgan-g left a comment

Choose a reason for hiding this comment

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

LGTM

I don't understand why something that hasn't rebased would need to "wait 1 or 2 commits" rather than having to rebase, but I'll assume that's me not understanding the infrastructure.

@keyonghan
Copy link
Contributor Author

keyonghan commented Mar 8, 2023

LGTM

I don't understand why something that hasn't rebased would need to "wait 1 or 2 commits" rather than having to rebase, but I'll assume that's me not understanding the infrastructure.

Suppose we have a property change PR (pr1) and an incoming PR (pr2):
(Note that cocoon schedules builds based on the current commit sha)
If a PR (pr2) hasn't rebased, cocoon will use pr2's target properties (without changes from pr1) on top of current infrastructure configs (pr1's changes either propagated or not) to schedule. If the pr1's changes haven't been propagated, they will not be reflected in pr2's scheduled builds.

Yeah, this is some backend infra logics:-)

@stuartmorgan-g
Copy link
Contributor

on top of current infrastructure configs (pr1's changes either propagated or not)

Wait, so does the infra behavior distinguish between "the state of .ci.yaml in the PR" and "the changes to .ci.yaml in the PR". I.e., looking at deltas in the PR specifically?

@keyonghan
Copy link
Contributor Author

on top of current infrastructure configs (pr1's changes either propagated or not)

Wait, so does the infra behavior distinguish between "the state of .ci.yaml in the PR" and "the changes to .ci.yaml in the PR". I.e., looking at deltas in the PR specifically?

That's correct. If no changes in .ci.yaml, cocoon will trigger builds with whatever current infra configs are. If any changes, cocoon will fetch them and override corresponding values in existing infra configs. That's why the changes (properties) in the PR could be reflected in the current PR right away.

@keyonghan keyonghan added the autosubmit Merge PR when tree becomes green via auto submit App. label Mar 8, 2023
@auto-submit auto-submit bot merged commit df00a47 into flutter:main Mar 8, 2023
@keyonghan keyonghan deleted the update_ci_yaml_doc branch March 13, 2024 20:11
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.

3 participants