tiktok / project-impact-graph

MIT License
8 stars 3 forks source link

Does project impact graph cover other files? #4

Open elliot-nelson opened 10 months ago

elliot-nelson commented 10 months ago

One concern about the generated graph - in context of a feature like Merge Queue - is that it doesn't cover all the folders related to building.

For example, imagine two PRs A and B, A is adding a new method call to a deprecated function in Nodejs, but PR B is updating the .nvmrc file to a version of Node that doesn't have that function.

The point of Merge Queue is to ensure this bad combo of PRs doesn't merge at same time and break main, but that's impossible if the MQ decides the PRs can go in separate "lanes".

A similar common issue could occur with a project change and a conflicting change to a GitHub Actions build workflow.

perhaps this could be solved with a separate set of rules for files that can affect all PRs.

octogonz commented 10 months ago

Right, so the static rules would go in one file, and the dynamic rules go in project-impact-graph.yaml, and somehow the Merge Queue must combine them. It's interesting to consider how these two definitions might interact.