pointless_build: Allow checker to run without a DepGraph; use manifest_commit

When run without a DepGraph, the checker won't exclude files that are
unnecessary to said DepGraph.

The manifest_commit allows the checker to run without using the `repo`
tool, and thus without having a full repo checkout.

Together, these two changes make it possible to run the checker prior to
the build_target recipe's repo sync. We'll do an initial pass in the
beginning, then another after setup_board. In cases where a build can be
terminated very early, by virtue of it only affecting always-irrelevant
files (e.g. OWNERS, md files, chromite/config), we can stop the build
before doing a repo sync.

BUG=chromium:965516
TEST=unit tests, local runs

Change-Id: I7f3d3cde683df2c71391472ee0e2a3f2d0e4554a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/test_planner/+/1621878
Reviewed-by: Evan Hernandez <evanhernandez@chromium.org>
Commit-Queue: Sean Abraham <seanabraham@chromium.org>
Tested-by: Sean Abraham <seanabraham@chromium.org>
5 files changed
tree: e601c9470424ea4dbe57f53e7a212adeef654db4
  1. src/
  2. .gitignore
  3. cipd.yaml
  4. deploy_cipd.json
  5. deploy_cipd.sh
  6. OWNERS