pkgs/top-level: init expression for haskell-updates jobset #121407
pkgs/top-level: init expression for haskell-updates jobset #121407maralorn merged 2 commits intoNixOS:haskell-updatesfrom
Conversation
|
This looks very good to me. I am not enough of an expert to judge if this actually does exactly what we want on hydra. But I’ll get we will figure that out. I like the mergeable job a lot. My suggestion would be to add the top-level package haskell-language-server in there. |
901cca0 to
8e18bc8
Compare
This comment has been minimized.
This comment has been minimized.
8e18bc8 to
f72aecb
Compare
maralorn
left a comment
There was a problem hiding this comment.
I think this is nice. Let’s try it and improve on it, if we notice any problems.
|
This looks good to me, although I really don't have enough experience with Hydra to give an in-depth review. |
bbfb585 to
a530e52
Compare
andir
left a comment
There was a problem hiding this comment.
Doesn't look too bad. Just some quality of life comments. I started a test eval on my private hydra instance: https://hydra.h4ck.space/jobset/nixpkgs/haskell-update#tabs-evaluations (ipv6-only)
pkgs/top-level/release-haskell.nix
Outdated
There was a problem hiding this comment.
Shouldn't this be the same as with the other release jobs? I am thinking that at least aarch64-linux should be in here as well.
There was a problem hiding this comment.
This is like this for historical reasons. Since haskell packages get built on aarch64-linux and x86_64-darwin in the main jobsets as well, I think we can enable it here as well. I just want to poke the infra team if it's okay.
pkgs/top-level/release-haskell.nix
Outdated
There was a problem hiding this comment.
What is the requirement for a job to be in this section? What does it mean when one of them breaks on on compiler but not on another?
There was a problem hiding this comment.
I've elaborated on this a bit in a comment. I think what warrants inclusion will become clearer in the future, as we may want to expand the list of packages there.
pkgs/top-level/release-haskell.nix
Outdated
There was a problem hiding this comment.
Why is this called mergeable? I guess this is the equivalent of the tested jobset for haskell? The description could probably be better here.
There was a problem hiding this comment.
We talked about this shortly in our meeting:
This is an aggregate job that contains all "important" Haskell packages. If this is not passing, then we should not merge haskell-updates into master. In Hydra UI this shows up as a single job.
There was a problem hiding this comment.
I've elaborated the description, I hope Hydra can deal with newlines in that field.
pkgs/top-level/release-haskell.nix
Outdated
There was a problem hiding this comment.
What are the consequences of a build failure for packages in this category? Does that mean someone has to look? Mind specifying that here (in the description).
There was a problem hiding this comment.
We talked about this shortly in our meeting today:
This is an aggregate job that contains all Haskell packages that have maintainer. If one of these packages is not building, then we should mark the package as broken and leave the maintainer as-is. We also need to ping them on the PR for the haskell-updates branch so that they have time to fix the problem.
We agreed that we need to give the maintainers at least 7 days to fix their packages before we mark them broken and merge haskell-updates into master.
There was a problem hiding this comment.
I wouldn't prescribe a consequence of this at this time, for now I think this is mostly a nice source for an overview.
|
So, @sternenseemann do you wanna add a bit more comments regarding to those questions? Or do we just merge (with the intention to document the meaning of those jobs somewhere else)? |
|
Ah, one other request: could you add the file in this PR to both |
a530e52 to
73d3d27
Compare
73d3d27 to
db91402
Compare
db91402 to
91a1bc0
Compare
release-haskell.nix is intended to be a replacement for https://github.com/peti/ci/blob/master/haskell-nixpkgs.nix which is currently the main expression for the haskell-updates jobset on hydra (in the nixpkgs project). It has the same jobs as the old haskell-nixpkgs.nix file: * haskellPackages.* * haskell.compiler.* * Some extra haskell packages for certain compilers The following jobs are new: * tests.haskell.* * A manually maintained list of top-level haskell packages (most of them using justStaticExecutables) * An aggregate job which is intended to aid merging the haskell-updates branch: It holds an arbitrary list of haskell-related packages and tests we intend have working at all times. This is still somewhat incomplete and should be extendend in the future. Additionally a lot of refactoring has been done and some unnecessary code has been eliminated. Due to the increased set of jobs and my ideas of convenience however, the code size has grown overall. I've tried document the individual parts and would be happy about feedback in general. One future improvement could be making adding top-level haskell packages more convenient and adding them all to the aggregate job automatically.
91a1bc0 to
233682c
Compare
|
Okay, let’s do this! |
|
Thx! |
release-haskell.nix is intended to be a replacement for
https://github.com/peti/ci/blob/master/haskell-nixpkgs.nix
which is currently the main expression for the haskell-updates jobset
on hydra (in the nixpkgs project).
It has the same jobs as the old haskell-nixpkgs.nix file:
The following jobs are new:
using justStaticExecutables)
branch: It holds an arbitrary list of haskell-related packages and
tests we intend have working at all times. This is still somewhat
incomplete and should be extendend in the future.
Additionally a lot of refactoring has been done and some unnecessary
code has been eliminated. Due to the increased set of jobs and my
ideas of convenience however, the code size has grown overall.
I've tried document the individual parts and would be happy about
feedback in general.
One future improvement could be making adding top-level haskell packages
more convenient and adding them all to the aggregate job automatically.
Evaluation is currently at 20s on my laptop, I suspect the main offender is
versionedCompilerJobs, but haven't done any testingContains some commits of #121386.
Things done
sandboxinnix.confon non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"./result/bin/)nix path-info -Sbefore and after)