Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Engine -> Framework roll blocked on new analyzer messages #99248

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
zanderso opened this issue Feb 27, 2022 · 12 comments
Closed

Engine -> Framework roll blocked on new analyzer messages #99248

zanderso opened this issue Feb 27, 2022 · 12 comments
Labels
dependency: dart Dart team may need to help us P0 Critical issues such as a build break or regression

Comments

@zanderso
Copy link
Member

zanderso commented Feb 27, 2022

Starting with the roll in #99222, analysis of samples is giving unexpected analyzer messages. That Engine roll contains only the Dart roll flutter/engine#31702, which contains only the commit https://dart.googlesource.com/sdk.git/+/2f9d45b8bf9e5843acb94996e193e1a6fdf2da8b that modifies the text of the messages.

Here is one of the failing runs https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20framework_tests_misc/13676/overview

@zanderso
Copy link
Member Author

I have reverted the Dart roll, and stopped the Dart -> Engine roller.

@bwilkerson

@bwilkerson
Copy link
Contributor

First question: how can I update the messages in the tests to unblock the roll? (I know virtually nothing about Flutter's test framework.)

Second question: can we change the tests so that it's possible for us to improve the UX without breaking the tests. For example, can we remove the messages entirely and just depend on the codes associated with the diagnostics without hurting the usefulness of the tests?

@zanderso
Copy link
Member Author

I think @gspencergoog might know more about how the samples are analyzed.

@gspencergoog
Copy link
Contributor

Yes, we should update the test to parse out the identifiers instead of relying on the message text. The point of that test is to make sure sample code analysis is working, and that (after the crazy parsing of the sample code) is still producing the expected errors, and it doesn't need to look at the message text to do that.

To update the test, copy the lines under "[Actual]" in the error output into the expectation at this line

@bwilkerson
Copy link
Contributor

I'll try to figure out how to send a PR. It's been a couple of years since the last one, so I don't remember anything about it.

@whesse
Copy link
Contributor

whesse commented Feb 28, 2022

I think we need more guidance on how to solve problems like this. If there is no way to roll changes that break a framework test, then what is the recommended solution?

Must the Dart CL author create a framework change that temporarily deletes or disables the test, or can they make a change that fixes the test, and it will land simultaneously with the roll?

There is nobody assigned on this issue, so I don't know if it must urgently be fixed or not, and who is responsible for fixing it.

@gspencergoog
Copy link
Contributor

@whesse As far as I know, we don't have a way to roll the SDK directly into the framework, only through the engine, and the engine runs the framework tests before it will roll into the framework. To make this work, we'd have to manually roll both the engine and the SDK in the framework simultaneously, and since they're in different repos, I don't think that's possible.

I'm happy to author the PRs in this case if that is easier. I assume we'll have to disable the test until the SDK rolls, and then re-enable it with changes after the roll. @bwilkerson would you like me to do that?

@zanderso
Copy link
Member Author

@jason-simmons has #99281 up. Like in that PR, the nature of the failure shows how to do the soft-transition. Maybe @devoncarew or @jacob314 knows whether the sample analysis is happening on Dart's Flutter analysis bot.

@bwilkerson
Copy link
Contributor

I'm happy to author the PRs in this case if that is easier.

That would certainly be faster, so I'm happy to let you do it.

... whether the sample analysis is happening on Dart's Flutter analysis bot.

It is not. See https://ci.chromium.org/p/dart/builders/ci.sandbox/flutter-analyze.

dnfield pushed a commit that referenced this issue Feb 28, 2022
@gspencergoog
Copy link
Contributor

Looks like Jason already has a workaround PR. I'll follow up with a PR that makes the test less fragile. This could still happen again if an analysis option affecting the test were removed, but that's pretty unlikely, I suspect.

@zanderso
Copy link
Member Author

zanderso commented Mar 3, 2022

The rollers have recovered.

@zanderso zanderso closed this as completed Mar 3, 2022
clocksmith pushed a commit to clocksmith/flutter that referenced this issue Mar 8, 2022
@github-actions
Copy link

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.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 17, 2022
@flutter-triage-bot flutter-triage-bot bot added P0 Critical issues such as a build break or regression and removed P2 labels Jun 28, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
dependency: dart Dart team may need to help us P0 Critical issues such as a build break or regression
Projects
None yet
Development

No branches or pull requests

4 participants