Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[PDT] Apply the pdtnix-substituters-allowed patch
This resolves the problems detailed here: NixOS#4442 The `allowSubstitute=false` "feature" wreaks havoc on CI / AWS / container type builds, because we *cannot* cache hit on AWS pkgs, and further features like `nix-build-if-changed` do not work without really ugly wrapper hacks: NixOS#4364 Seen in the wild, in addition to the above, we've hit two problems at PDT specifically: 1. User buildEnv results can't be substituted out of S3. This means that in pdtnix, we can't push them to S3 from CA and have hosts like mtsync pull them. This then results in mtsync failing, because it tries to build, but it doesn't have DTS-8 installed. 2. On AWS, there are >10,000 pkgs in texlive that say allowSubstitutes=false. These are all in S3, but if you cold start a host it will rebuild them all! Moreover, our buildPDTEnv calls are sometimes very expensive (20,000+ symlinks in turnover-tool style bundles!), so the whole notion that this is faster to build locally than substitute out of S3 is flawed. We also run pytest suites, which involve starting tests on NFS, etc., and do a bunch of `find` filtering to find tests. Per comment upstream, this is a controversial change and unlikely to be accepted upstream without more discussion (currently underway in the community), so we'll keep it internal for now.
- Loading branch information