Skip to content

ci: eval for pkgsStatic#361529

Closed
wolfgangwalther wants to merge 2 commits intoNixOS:masterfrom
wolfgangwalther:ci-musl-eval
Closed

ci: eval for pkgsStatic#361529
wolfgangwalther wants to merge 2 commits intoNixOS:masterfrom
wolfgangwalther:ci-musl-eval

Conversation

@wolfgangwalther
Copy link
Contributor

@wolfgangwalther wolfgangwalther commented Dec 3, 2024

Now that eval is running nicely in Github Actions, I wonder whether it would be possible to add more systems - just to make sure eval is not easily broken?

Since RFC46 is not really much help to figure out which platforms to do this on, I went grepping:

grep -ohrIE '(Platform|cc|stdenv|bintools)\.(is|use)[^ .]+\b' . | sed -e 's/^.*\.//g' | sort | uniq | xargs -I {} sh -c 'echo -n "{} "; grep -Ir "\b{}\b" . | wc -l'

The idea is: The more conditionals a platform uses in nixpkgs, the more useful an eval CI check is. I ran the numbers and cut off everything below 50 hits.

conditional n  eval
isDarwin 6366 ✔️ ✔️
isLinux 2420 ✔️ ✔️
isAarch64 689 ✔️ ✔️
isClang 458 ✔️ ✔️
isStatic 436  
isx86_64 364 ✔️ ✔️
isMusl 252  
isGNU 186 ✔️ ✔️
isWindows 176  
isx86 134 ✔️ ✔️
isFreeBSD 128  
useLLVM 118  
is64bit 103 ✔️ ✔️ ✔️ ✔️
isAarch32 93  
isi686 92  
isMinGW 86  
isCygwin 71  
is32bit 64  
isAarch 55 ✔️ ✔️
isGhcjs 50  

My conclusion: pkgsStatic on x86_64-linux, which covers both isStatic and isMusl is the next logical target. Especially, because eval currently succeeds as well.

I also tried x86_64-freebsd, which would give us isFreeBSD and useLLVM and x86_64-cygwin, which would give us isWindows and isCygwin. Both failed eval right now.


Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added 6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Dec 3, 2024
@wolfgangwalther
Copy link
Contributor Author

So the x86_64-musl job doesn't return any attr paths, but I think that's expected the way I hacked this up here. Eval took long enough locally, that I assume it did still evaluate something, but I might be wrong. At least freebsd and cygwin failed evaluation locally, so something was surely happening there.

What do we need to do to make this reality (and useful)?

@wolfgangwalther wolfgangwalther marked this pull request as ready for review December 3, 2024 19:24
@FliegendeWurst
Copy link
Member

I think your change to supportedSystems broke ofborg's eval.

What do we need to do to make this reality (and useful)?

It seems useful in its current form. I don't think we will need to count rebuilds for pkgsStatic, since we usually try to avoid conditional patches.

@wolfgangwalther
Copy link
Contributor Author

I think your change to supportedSystems broke ofborg's eval.

I'm not sure how to do this correctly - the way I added it to supportedSystems certainly is not.

@infinisil
Copy link
Member

The supportedSystems.nix is also tied to what Hydra evals, so I believe this would increase Hydra eval time and job count by 25%. We could decouple GHA from Hydra platforms though, but I think for now we should focus on ensuring a smooth transition to GHA for the existing platform evals and relieving ofborg, before moving on to increase the scope

@wolfgangwalther wolfgangwalther marked this pull request as draft December 11, 2024 17:57
@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Dec 31, 2024
@nixpkgs-ci nixpkgs-ci bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 25, 2025
@wolfgangwalther
Copy link
Contributor Author

I don't think this actually ever worked as intended; it would need to be done differently anyway.

@wolfgangwalther wolfgangwalther deleted the ci-musl-eval branch November 21, 2025 13:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: merge conflict This PR has merge conflicts with the target branch 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants