-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
build,tools: remove .inc files from torque outputs #37502
Conversation
Some of the `.inc` files written by torque are empty, i.e. they are zero length. Actions in gyp generated makefiles are always run, and torque always writes out zero length files which means their timestamps are newer than any previously compiled object file. Remove the `.inc` files from the `outputs` for the `run_torque_action` so that the targets that depend on it do not get run when the zero length .inc files are updated.
I don't understand what's special about zero-length files. Is it a bug in |
node/deps/v8/src/torque/utils.cc Lines 316 to 332 in 76a073b
old_contents.length() == 0 . Is that a bug? 🤷
At the very least, prior to 79da253 we were not including all |
I adapted this upstream change: v8/v8@03f6029 |
Coverage CI run: https://ci.nodejs.org/job/node-test-commit-linux-coverage-daily/803/nodes=benchmark/console
|
Just trying to understand the consequence of this change: does it mean that if some V8 update ends up in one of the |
@targos probably Ninja uses the contents of the source files to determine whether a recompilation is necessary rather than timestamps which make uses? Timestamps are definitely changing, build once:
build again:
The 0 length files get their timestamps updated after the second build.
Yes, quite possibly. I don't know how likely that is to happen without |
I'll check if |
Tests are still taking more than one hour to complete even with this change, I think we still need to switch to ninja for GH Actions for the time being. |
Closing in favour of #37505. |
Some of the
.inc
files written by torque are empty, i.e. they arezero length. Actions in gyp generated makefiles are always run, and
torque always writes out zero length files which means their timestamps
are newer than any previously compiled object file. Remove the
.inc
files from the
outputs
for therun_torque_action
so that the targetsthat depend on it do not get run when the zero length .inc files are
updated.
Fixes: #37368
Refs: #36139 (comment)