-
Notifications
You must be signed in to change notification settings - Fork 240
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 matrix generation #1764
Comments
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
@shlevy is the build-depends legal cabal syntax? |
Yes |
I think this needs a clearer specification of what's desired. Using And both of these are much harder to specify in a project context where we might have multiple local packages. For the GHC versions it might be okay, you could say something like:
|
A week later but here are my thoughts. The problem is the usual project/package distinction. Haskell.nix does not build packages but projects. There's not a single Haskell.nix could automatically spit out projectVariants for all combination of GHCs and package versions; but in that case we would be testing is the fasibility of the whole project. That a package says Now, I do like if something like this existed and what we could do is to add an "entrypoint" separate from project and friends, that is specifically made to test building a package in isolation. This is basically how the CHaP is built: we have a function that given a package name and version, makes a tailored project and builds that. Note that haskell.nix already has Australians are known to say "yeah but nah", but I am going with "nah but yeah" in this case 😆 Also notice that it's already quite immediate to do the last thing you mention:
produces |
Let's separate out two functionalities:
|
I think this is a good plan. @angerman I'll move this to the board if you are happy with it. |
Related: https://github.com/input-output-hk/cardano-haskell-packages/issues/174 An important quirk which we need to think about: often if a package doesn't build with a particular version of GHC, it will not only not build, but the solver will fail. That's harder for us to deal with, because it means that the cabal project IFD will fail, and we get at best nothing and at worst an eval error. So if we're going to use the |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
It's still on the board 😂 |
It would be great if we could automatically generate build matrices from cabal files. E.g. given:
It would be awesome if I could get derivations to build
foo
with various the cartesian product of GHC 8.10.7 or 9.2.4 and resourcet ^>=1.2 and ^>=1.3, with the appropriatebase
being chosen on each path, and also great if I could get some variant of "build with latest GHC with allow-newer=foo:^all"The text was updated successfully, but these errors were encountered: