[build] Address aspect-build/rules_ts#664, drop Windows workaround#6797
[build] Address aspect-build/rules_ts#664, drop Windows workaround#6797fhanau wants to merge 1 commit into
Conversation
| name = src.removesuffix(".capnp").removesuffix(".wd-test").removesuffix(".ts-wd-test") | ||
|
|
||
| if len(ts_srcs) != 0: | ||
| # NOTE: We intentionally do not use isolated_typecheck here. While isolated_typecheck can |
There was a problem hiding this comment.
I'm dropping this comment on purpose: isolated_typecheck would allow us to get rid of a type check action in cases where it is not needed which is why I was interested in it, but as the comment states this would require quite a bit of work and the gain is relatively small. This comment is an AI-generated replacement for a comment I originally wrote. There is no need to describe it in this much detail and for our purposes not having isolated_typecheck is not a big loss.
|
Both callers that used Now let me look at the The Let me now do a final review of all the changes as a whole. The changes look correct and well-motivated. Let me verify the The
Both are correct. This PR looks clean. The key changes are:
All changes are build-system-only, no runtime behavior changes, no backward compatibility concerns. LGTM |
Finally figured out how to solve this. We need to ensure that rules_ts enables the composite setting and avoid writing to the same path twice since Windows does not have a proper Bazel sandbox. Also update to the latest Bazel release and enable --rewind_lost_inputs, both of these should help with the Bazel remote cache issues we've seen.
b200fa6 to
3f1de20
Compare
|
The WPT test config is also TS. Was the trick already used there? |
Likely more as a lucky accident, but yes – it has a single ts_project, so there's no concern about files being generated twice. We still had //src/wpt:wpt-all@tsproject in the set of targets where the prior workaround was being applied – I think it might not have been needed for all of them, or it might have been needed for importing node correctly since |
|
Putting it all into one project was intentional, but I didn't know I needed composite. Thanks for getting this sorted out. |
petebacondarwin
left a comment
There was a problem hiding this comment.
Approving on behalf of wrangler for the "typings" files.
Finally figured out how to solve this. We need to ensure that rules_ts enables the composite setting and avoid writing to the same path twice since Windows does not have a proper Bazel sandbox.
Also update to the latest Bazel release and enable --rewind_lost_inputs, both of these should help with the Bazel remote cache issues we've seen.
=============
This issue has hounded workerd CI and made the Windows build slower than it needs to be for more than a year, glad that we can get rid of the workaround. I did a bunch of testing on #1528 (my perpetual build systems draft PR) to ensure that this being solved is not just a mirage based on getting the right outputs from the remote cache, but also happens when caching is disabled.
As a fun side effect, we also get to re-enable a test that was disabled due to the same root cause.