这是indexloc提供的服务,不要输入任何密码
Skip to content

Stop removing unreferenced packages before task graph construction #918

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

Merged
merged 5 commits into from
Mar 23, 2022

Conversation

gsoltis
Copy link
Contributor

@gsoltis gsoltis commented Mar 21, 2022

Fixes #912

In this PR:

  • Stop removing unreferenced packages from the package dependency graph before building the task graph.
  • Remove the implied --include-dependencies if --scope and --since are both set. It should no longer be necessary.
  • Remove the test for --scope and --since implying --include-dependencies
  • Add a new scheduler test that mimics the way run now behaves.
  • Add a debugging profile for doing a dry run against the kitchen sink example.

Future work includes being able to write a test in run_test.go to get the whole end-to-end graph build, but we don't quite have the infrastructure for that yet (also required for follow-on work to #911)

Note that this is technically a breaking change. Previously, if a depends on b, and the "test" task depends on "^build" the following would be true:

  • turbo run test --scope=a would test a but not build b
  • turbo run test --scope=a --include-dependencies would build b and test a AND b.

With this change, turbo run test --scope=a will now build b and test a. The addition of tasks running for unselected packages is new. While this seems like more work being done, in practice I expect users to be able to move from the second example above to the first, ultimately resulting in less work being done: b#test will no longer need to run to get a#test to run.

@vercel
Copy link

vercel bot commented Mar 21, 2022

This pull request is being automatically deployed with Vercel (learn more).
To see the status of your deployment, click below or on the icon next to each commit.

🔍 Inspect: https://vercel.com/vercel/turbo-site/5MWnkEcEGWZfDwp6D44fHCa49gQn
✅ Preview: https://turbo-site-git-gsoltis-splitentrypointselection.vercel.sh

@kodiakhq kodiakhq bot merged commit b5a6f58 into main Mar 23, 2022
@jaredpalmer jaredpalmer deleted the gsoltis/split_entrypoint_selection branch March 23, 2022 22:27
@jlarmstrongiv
Copy link

jlarmstrongiv commented Apr 2, 2022

@gsoltis and @jaredpalmer after investigating, I think this commit broke --scope on linux #978

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Split package entrypoint selection from task dependency resolution.
3 participants