Commit Graph

5 Commits

Author SHA1 Message Date
sternenseemann
3dfbe2b6a3 maintainers/haskell/test-configurations.nix: support ghcHEAD
Since we now have a versioned configuration-ghc-*.nix file for GHC HEAD,
we don't need to add a super special case to the package set logic in
test-configurations.nix anymore. We can just create a versioned
attribute for the ghcHEAD package set (which is not exposed) and keep
using the normal discovery logic.

The only tricky bit is that GHC HEAD's configuration file is named after
the GHC release that will be branched off from it, so a little bit of
arithmetic is involved.
2023-02-13 14:42:03 +01:00
sternenseemann
90a8618c03 maintainers/scripts/test-configuration.nix: improve overlay call
configuration-nix.nix uses builtins.intersectAttrs to not any overrides
for packages not present in `super` (presumably for use outside of
nixpkgs?). To accomodate it, we pass an attribute set with every
attribute of haskellPackages, but set to `null` as `super`, and — while
we're at it — a fix point as `self`.
2021-12-15 17:23:04 +01:00
sternenseemann
ca91080b21 maintainers/scripts/test-configurations.nix: skip binary GHCs
While being able to test them is neat (on x86_64-linux they work very
well, actually), we usually don't want to do this, since the set is
only (recommended to be) used to bootstrap GHC. Consequently there is
almost no binary cache and testing them mostly leads to unenlightening
and seemingly endless compilation.
2021-12-15 17:23:04 +01:00
sternenseemann
65de104e6c maintainers/scripts/test-configuration.nix: warn about broken pkgs
The warnings help when removing the broken flags when all packages turn
out to build and could also be helpful when investigating failures.
2021-12-15 17:23:04 +01:00
sternenseemann
7e9d55f0c4 maintainers/scripts: test for haskell configuration overlays
The added nix expression allows maintainers to check for regressions in
the configuration overlays employed by haskellPackages and friends. The
reasoning behind this is that, if we add an override for something, it
should also build. To test this fact, we extract all attributes touched
by a configuration and obtain all relevant derivations corresponding to
it which can then be thrown into nix-build --keep-going.

I've been using this expression to verify configuration-ghc-9.2.x.nix
for a week or so which works quite well. The amount of stale overrides
in other configuration makes it a bit more painful for other use cases
at the moment.
2021-12-14 02:25:02 +01:00