Skip to content
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

Analyze is failing, Warning: transitive closure contained non-allowlisted packages: [frontend_server_client] #80909

Open
jmagman opened this issue Apr 22, 2021 · 11 comments · Fixed by #80911
Labels
P2 Important issues not at the top of the work list team Infra upgrades, team productivity, code health, technical debt. See also team: labels. team-tool Owned by Flutter Tool team tool Affects the "flutter" command-line tool. See also t: labels. triaged-tool Triaged by Flutter Tool team

Comments

@jmagman
Copy link
Member

jmagman commented Apr 22, 2021

dart --enable-asserts ./dev/bots/analyze.dart

▌17:09:37▐ Package Allowlist...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Warning: transitive closure contained non-allowlisted packages:
[frontend_server_client]
See dev/bots/allowlist.dart for instructions on how to update the package allowlist.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

I see this on 07fc1a6a48 but I don't think this is related to a framework commit...

@jmagman jmagman added team Infra upgrades, team productivity, code health, technical debt. See also team: labels. tool Affects the "flutter" command-line tool. See also t: labels. P0 Critical issues such as a build break or regression labels Apr 22, 2021
@jmagman
Copy link
Member Author

jmagman commented Apr 22, 2021

test_core 0.3.20 was just published an hour ago and is the package with the frontend_server_client dependency, unless I'm missing something.

@Hixie
Copy link
Contributor

Hixie commented Apr 22, 2021

Git bisect points to f6f59c5, which is when we added the allow list, which suggests that somehow our fixed pins are not working and we got caught by an upstream change. That's not supposed to be possible.

@jmagman
Copy link
Member Author

jmagman commented Apr 22, 2021

frontend_server_client was added in dart-lang/test#1399. I'm not sure why the script picked up an unpinned version, but it looks legit to be added to the allowlist in the meantime. @jonahwilliams @jakemac53 do you agree?

@Hixie
Copy link
Contributor

Hixie commented Apr 22, 2021

dev dependencies should be pinned too, right?

@jonahwilliams
Copy link
Member

I suspect this is a bug in the --transitive-closure script in update packages. I'll plan on taking a look, but in the meantime we can add that package to the allowlist since its a dev_dep anyway. Maybe we should count dev deps separately anyway.

@jonahwilliams
Copy link
Member

jonahwilliams commented Apr 22, 2021

This is how it happens: update-packages tries to avoid pinning "transitive dependencies" in the synthetic pubspec, since its goal is to allow easy upgrades to the latest version of everything. --transitive-closure just wants to show the dependencies as they exist today, but re-uses the update-packages logic to generate a synthetic package. Since test_core is not pinned in this synthetic package, we version solve to the latest version and show frontend_server_client in the dep list - even though nothing in our repo is updated to use this

@jakemac53
Copy link
Contributor

I don't see any alternative to pinning it. If it becomes a problem we can copy it into package:test_core instead, but I think it should be fine to pin for now.

@jonahwilliams
Copy link
Member

So the bug is on our end, and I'll take a look at fixing that - in the meantime we can add it to the allowlist to unblock the tree

@jmagman
Copy link
Member Author

jmagman commented Apr 22, 2021

Workaround #80912 merged, tree should be unblocked.
Lowering priority.

@jmagman jmagman added P1 High-priority issues at the top of the work list and removed P0 Critical issues such as a build break or regression labels Apr 22, 2021
@jonahwilliams jonahwilliams reopened this Apr 22, 2021
@jonahwilliams
Copy link
Member

Changes to update-packages didn't take, will try a new approach

@jonahwilliams
Copy link
Member

Update: this is still technically broken, though we worked around it. i need to rewrite the allowlist check to use pub deps directly.

@jonahwilliams jonahwilliams self-assigned this May 4, 2021
@jonahwilliams jonahwilliams added P2 Important issues not at the top of the work list and removed P1 High-priority issues at the top of the work list labels Jul 20, 2021
@jonahwilliams jonahwilliams removed their assignment Aug 23, 2021
@flutter-triage-bot flutter-triage-bot bot added team-tool Owned by Flutter Tool team triaged-tool Triaged by Flutter Tool team labels Jul 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P2 Important issues not at the top of the work list team Infra upgrades, team productivity, code health, technical debt. See also team: labels. team-tool Owned by Flutter Tool team tool Affects the "flutter" command-line tool. See also t: labels. triaged-tool Triaged by Flutter Tool team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants