Skip to content

pkgs/top-level/release.nix: enable pkgsLLVM#330567

Open
RossComputerGuy wants to merge 4 commits intoNixOS:masterfrom
ExpidusOS:feat/pkgsllvm/ci
Open

pkgs/top-level/release.nix: enable pkgsLLVM#330567
RossComputerGuy wants to merge 4 commits intoNixOS:masterfrom
ExpidusOS:feat/pkgsllvm/ci

Conversation

@RossComputerGuy
Copy link
Member

Description of changes

Now that the Nixpkgs LLVM WS project has reached its first goal, let's enable pkgsLLVM testing in CI.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@RossComputerGuy
Copy link
Member Author

Ofborg runs into infinite recursion with legacyPackages.x86_64-darwin.pkgsLLVM.python3 but not legacyPackages.aarch64-darwin.pkgsLLVM.python3

@RossComputerGuy RossComputerGuy force-pushed the feat/pkgsllvm/ci branch 5 times, most recently from 2a3256d to a0bea05 Compare July 28, 2024 15:04
@RossComputerGuy
Copy link
Member Author

@ofborg eval

@RossComputerGuy
Copy link
Member Author

It seems Ofborg might be OOM'ing.

@pbsds pbsds added the 1.severity: significant Novel ideas, large API changes, notable refactorings, issues with RFC potential, etc. label Aug 16, 2024
@pbsds pbsds requested a review from vcunat August 16, 2024 12:17
@RossComputerGuy
Copy link
Member Author

@ofborg eval

@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Nov 1, 2024
@nyabinary
Copy link
Contributor

Merge conflict (also what the general status?)

@RossComputerGuy
Copy link
Member Author

Rebased, the problem is Ofborg doesn't have enough resources. Not sure about the solution to that.

@nyabinary
Copy link
Contributor

Rebased, the problem is Ofborg doesn't have enough resources. Not sure about the solution to that.

Could potentially ask in the staging channel a solution to this?

@pbsds
Copy link
Member

pbsds commented Nov 4, 2024

The ofborg evaluator needs to be fitted with more ram to accommodate the larger release set, and may even have to add more workers, considering we already have a rising eval queue problem
image

@ofborg ofborg bot removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Nov 4, 2024
@RossComputerGuy
Copy link
Member Author

Could potentially ask in the staging channel a solution to this?

Does changing the branch increase the amount of available RAM?

@RossComputerGuy
Copy link
Member Author

I've rebased the PR. @infinisil how can I verify that attributes under pkgsLLVM are being evaluated? I see in the attrpaths JSON that ["pkgsLLVM", "stdenv"] is mentioned.

@github-actions github-actions bot added 6.topic: policy discussion Discuss policies to work in and around Nixpkgs 6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions labels Nov 27, 2024
@github-actions github-actions bot added 6.topic: stdenv Standard environment and removed 6.topic: policy discussion Discuss policies to work in and around Nixpkgs 6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions labels Dec 22, 2024
@RossComputerGuy RossComputerGuy force-pushed the feat/pkgsllvm/ci branch 3 times, most recently from 92587fb to d8f3e7b Compare December 22, 2024 07:27
@github-actions github-actions bot added the 6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions label Dec 22, 2024
@RossComputerGuy RossComputerGuy force-pushed the feat/pkgsllvm/ci branch 2 times, most recently from d260e3b to df4ea70 Compare December 22, 2024 08:00
Copy link
Contributor

@wolfgangwalther wolfgangwalther left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some thoughts.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Those checks are related to pkgsLLVM specifically, so I think it's the wrong place to put this knowledge.

Assume we are going to add e.g. pkgsStatic eventually, too - we might need different conditions here.

Is this even needed with the "if darwin then self" check you currently have in stage.nix?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem is I need to disable eval for Darwin but checking if it's for Darwin isn't as simple as it looks.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem is I need to disable eval for Darwin

That's what I was questioning. With this line:

pkgsLLVM = if stdenv.hostPlatform.isDarwin then self else

eval should succeed on darwin, right?

In fact, it should just refer to the same attributes as on the top-level, so eval on darwin should be a no-op? What am I missing?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it complains about missing attributes and fails to eval Darwin.

Comment on lines 21 to 27
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume that release-attrpaths-parallel.nix is only run by nix/eval, while release-outpaths.nix is also run by hydra?

If so, I think we should add includeSubpackages here like includeSubpackages = true; and don't take an argument for it in this file.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes but I still think it isn't a bad idea to have this so if someone runs this in their own setup, they could disable it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be great, if we ultimately had an interface like this:

Suggested change
pkgsLLVM = if stdenv.hostPlatform.isDarwin then self else nixpkgsFunSub {
pkgsLLVM = nixpkgsFun {
config = { eval = true; hydra = false; };
...
}

Thus we could define those properties in exactly one location - right where we define the package set.

And then everything else should just work off of that.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem is some attributes in CUDA disappears in Darwin which causes Darwin evals to fail. From a UX perspective, this looks better but practically this is a harder problem to solve.

@RossComputerGuy
Copy link
Member Author

@ofborg eval

@RossComputerGuy
Copy link
Member Author

Not able to reproduce the Ofborg error, trying a rebase to see if that fixes it.

@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Feb 15, 2025
@nixpkgs-ci nixpkgs-ci bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 28, 2025
@Mic92 Mic92 removed their request for review June 29, 2025 06:04
@stale stale bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 29, 2025
@nixpkgs-ci nixpkgs-ci bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.severity: significant Novel ideas, large API changes, notable refactorings, issues with RFC potential, etc. 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 6.topic: stdenv Standard environment 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

Status: No status

Development

Successfully merging this pull request may close these issues.

8 participants