nix: Skip readLinkAt unit test on XFS builder
CI builds Determinate Nix from source, running its unit-test suite. The `nix-util` `readLinkAt.works` test creates symlinks with PATH_MAX-length targets, but our CI runner's build filesystem is XFS, which hard-caps symlink targets at 1024 bytes (XFS_SYMLINK_MAXLEN). Creation fails with ENAMETOOLONG, so the test — and the whole determinate-nix build — fails on the runner while passing on non-XFS filesystems. Filter out just that test via gtest's GTEST_FILTER on the `nix-util-tests-run` check input, leaving the rest of the unit and functional tests gating the build (they still matter, since we build against several nixpkgs channels). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -104,8 +104,19 @@
|
|||||||
myPkgsOverlay = final: prev: import ./pkgs { lib = final.lib; pkgs = prev; };
|
myPkgsOverlay = final: prev: import ./pkgs { lib = final.lib; pkgs = prev; };
|
||||||
# Exposes Determinate Nix under a stable attr name so systems, homes and the devshell all
|
# Exposes Determinate Nix under a stable attr name so systems, homes and the devshell all
|
||||||
# resolve the exact same package (referenced as `pkgs'.mine.determinate-nix` in configs).
|
# resolve the exact same package (referenced as `pkgs'.mine.determinate-nix` in configs).
|
||||||
|
# `nix-util`'s `readLinkAt.works` unit test creates PATH_MAX-length symlinks, which our CI
|
||||||
|
# runner's XFS-backed build filesystem rejects (XFS hard-caps symlink targets at 1024 bytes).
|
||||||
|
# Skip just that test via gtest's GTEST_FILTER so the rest of the suite still gates the build.
|
||||||
determinateOverlay = final: prev: {
|
determinateOverlay = final: prev: {
|
||||||
determinate-nix = inputs.determinate-nix.packages.${prev.stdenv.hostPlatform.system}.default;
|
determinate-nix =
|
||||||
|
(inputs.determinate-nix.packages.${prev.stdenv.hostPlatform.system}.default).overrideAttrs (o: {
|
||||||
|
checkInputs = map
|
||||||
|
(drv:
|
||||||
|
if (drv.name or "") == "nix-util-tests-run"
|
||||||
|
then drv.overrideAttrs (_: { GTEST_FILTER = "-readLinkAt.*"; })
|
||||||
|
else drv)
|
||||||
|
o.checkInputs;
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
# Override the flake-level lib since we're going to use it for non-config specific stuff
|
# Override the flake-level lib since we're going to use it for non-config specific stuff
|
||||||
|
|||||||
Reference in New Issue
Block a user