analyze step wrongly decided "No compile necessary" |
||||||
Issue descriptionIn this CL https://chromium-review.googlesource.com/c/angle/angle/+/1087179 on this tryjob https://ci.chromium.org/p/chromium/builders/luci.chromium.try/android_angle_deqp_rel_ng/1350 "analyze" decided that "No compile necessary". Which resulted in CI bot breaking https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Android%20FYI%20dEQP%20Release%20%28Nexus%205X%29/10901. The expectation is that "analyze" will realize from DEPS changing that source files which are dependencies of angle_deqp_gles2_tests have changed, so it rebuilds and runs the tests. dpranke@, could you please triage this?
,
Jun 6 2018
I don't know anything about the deqp bot setup. liaoyuke touched analyze recently, maybe he has an idea.
,
Jun 6 2018
I don't think my changes were related. If the DEPS file is changed, shouldn't we just blindly re-run everything? At least that's the behavior in Chromium.
,
Jun 6 2018
(I didn't mean to imply that your changes are related, just that you might be familiar with analyze :-) )
,
Jun 6 2018
I'm surprised the job didn't trigger a compile. My understanding is any change to DEPS results in a full compile (I believe testing/buildbot/trybot_analyze_config.json controls this). Dirk knows the latest though.
,
Jun 6 2018
Might be a recursedeps issue.
,
Jun 6 2018
+ehmaldonado regarding possible recursedeps issue
,
Jun 6 2018
I don't think so. Maybe it's because GN analyze doesn't work well with .gypi files?
,
Jun 6 2018
There are a few reasons. These are the changed files passed to analyzer: third_party/angle/DEPS third_party/angle/DEPS.chromium third_party/angle/src/tests/deqp.gypi third_party/angle/src/tests/deqp_support/deqp_gles31_test_expectations.txt third_party/angle/src/tests/deqp_support/es2fColorClearTest.cpp First, this "third_party/angle/DEPS" file is not the "DEPS" file, and that's why the rules in trybot_analyze_config.json failed to match. Secondly, as mentioned by ehmaldonado@, analyzer doesn't understand .gyp[i]? file. So, I'd recommend add the DEPS files to trybot_analyze_config.json, and for all directories that still use gyp, add them to trybot_analyze_config.json as well.
,
Jun 6 2018
Would it work if we just removed gyp?
,
Jun 7 2018
deqp.gypi is referenced by tests/BUILD.gn It takes list of files from there. I think analyzer should understand that changes to deqp.gypi affect BUILD.gn. If not, then getting rid of gyp and moving the list of files to GN sounds a good solution.
,
Jun 7 2018
I think it's possible to implement, but non-trivial. Specifically, we need to track the exec_script target to understand the set of input files the output object depends on, and then tracks all other targets that reference the output.
Do we have an idea how many gyp files are still used in our code base? If the goal is to completely get rid of gyp files, then moving to GN might be better solution. Dirk should be able to give more context.
deqp_gypi = exec_script("//build/gypi_to_gn.py",
[
rebase_path("deqp.gypi"),
"--replace=<(angle_path)=.",
"--replace=<(deqp_path)=//third_party/deqp/src",
],
"scope",
[ "deqp.gypi" ])
config("angle_deqp_support") {
include_dirs = rebase_path(deqp_gypi.deqp_include_dirs, ".", "../..")
if (is_win && !is_clang) {
include_dirs += [ "../deqp/src/framework/platform/win32" ]
cflags = deqp_gypi.deqp_win_cflags
}
...
,
Jun 7 2018
I think we should just finish removing gyp. This is on our plate anyway. I don't see a strong reason to push the infra team to support deprecated code paths.
,
Jun 7 2018
,
Jun 7 2018
,
Jun 7 2018
In addition to removing gyp, it would be good if ANGLE's DEPS will get the same treatment as Chromium's one.
,
Jun 7 2018
You should get rid of the gypi files, since they're likely just confusing at this point. You could certainly add them to the whitelist in the meantime if need be.
,
Oct 30
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/724f1e75e90f94cd6cebfe2e045bd01f031984c6 commit 724f1e75e90f94cd6cebfe2e045bd01f031984c6 Author: Jamie Madill <jmadill@chromium.org> Date: Tue Oct 30 20:48:40 2018 Add ANGLE's DEPS to trybot exclusions. This should force DEPS changes in ANGLE to trigger all trybots. ANGLE's bot config is a bit special since we use recursive DEPS. Bug: 850100 Bug: 899737 Change-Id: Iab6e996663386f66f1fa05f2ee10531d6bd85224 Reviewed-on: https://chromium-review.googlesource.com/c/1307734 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: John Budorick <jbudorick@chromium.org> Cr-Commit-Position: refs/heads/master@{#604005} [modify] https://crrev.com/724f1e75e90f94cd6cebfe2e045bd01f031984c6/testing/buildbot/trybot_analyze_config.json
,
Oct 31
Seems to be working better now. |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by kbr@chromium.org
, Jun 6 2018Components: Build