Skip to content

ci/eval: specify temp Nix store for Nix commands#418153

Closed
YorikSar wants to merge 1 commit intoNixOS:masterfrom
YorikSar:ci-eval-darwin-sandbox-fix
Closed

ci/eval: specify temp Nix store for Nix commands#418153
YorikSar wants to merge 1 commit intoNixOS:masterfrom
YorikSar:ci-eval-darwin-sandbox-fix

Conversation

@YorikSar
Copy link
Contributor

When I ran this on macOS:

nix build -f ci eval.singleSystem --argstr evalSystem aarch64-darwin --arg chunkSize 10000 --arg quickTest true -L --no-link

I get an error:

attrpaths-superset.json> error: creating directory '/nix/store/.links': Operation not permitted

It seems Nix commands executed to generate attrpaths-superset.json and run nixpkgs-eval-* try to unconditionally create .links directory in Nix store.

This change points them to an empty Nix Store in a temporary directory.

Things done


Add a 👍 reaction to pull requests you find important.

When I ran this on macOS:

```
nix build -f ci eval.singleSystem --argstr evalSystem aarch64-darwin --arg chunkSize 10000 --arg quickTest true -L --no-link
```

I get an error:

```
attrpaths-superset.json> error: creating directory '/nix/store/.links': Operation not permitted
```

It seems Nix commands executed to generate `attrpaths-superset.json` and
run `nixpkgs-eval-*` try to unconditionally create `.links` directory in
Nix store.

This change points them to an empty Nix Store in a temporary directory.
@github-actions github-actions bot added 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. 6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions backport release-24.11 labels Jun 19, 2025
@wolfgangwalther
Copy link
Contributor

There is a different approach to the same problem in #406307.

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.

Judging by the number of rebuilds.. this change proposed here seems to throw off the comparison between master branch and the PR. No attrpaths match anymore, thus everything is supposedly rebuilt. Thus, I'd say this doesn't work as is.

@YorikSar
Copy link
Contributor Author

YorikSar commented Jun 19, 2025

@wolfgangwalther You're right, I didn't think this through. The resulting JSON points to the temporary directory:

{
  "AMB-plugins.x86_64-linux": {
    "out": "/build/tmp.O0hRSdyCZL/8hz97h4k1d0pqb573v5z9lrym9dj6snj-AMB-plugins-0.8.1"
  },
  "ArchiSteamFarm.x86_64-linux": {
    "out": "/build/tmp.O0hRSdyCZL/q8kf0nbw4n1pfiqily4mr9rwlk197yar-ArchiSteamFarm-6.1.6.7"
  },
  "CuboCore.coreaction.x86_64-linux": {
    "out": "/build/tmp.O0hRSdyCZL/3gkhlgcgqyhpf1z3h8igqy1plq2sks2k-coreaction-5.0.0"
  },

And thus it cannot be matched between runs. I'll back off and let #406307 (hopefully) to proceed.

@YorikSar YorikSar closed this Jun 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants