Skip to content

Comments

tests.importCargoLock: fix self-inclusive src listings in .nix files#303146

Merged
infinisil merged 1 commit intoNixOS:masterfrom
oliviacrain:icl-si
Apr 11, 2024
Merged

tests.importCargoLock: fix self-inclusive src listings in .nix files#303146
infinisil merged 1 commit intoNixOS:masterfrom
oliviacrain:icl-si

Conversation

@oliviacrain
Copy link
Contributor

Description of changes

Replace src = ./. instances with more explicit source listings using lib.fileset. Otherwise, derivations will be rebuilt on any change to the files defining them (e.g. formatting via nixfmt-rfc-style).

Related: #301014

Quick testing instructions:

  1. nix-build -A tests.importCargoLock (run relevant tests)
  2. nix run nixpkgs#nixfmt-rfc-style -- pkgs/build-support/rust/test/import-cargo-lock/ (two source files should be reformatted)
  3. nix-build -A tests.importCargoLock (attempt to re-run tests, noticing that the reformatting has not caused any tests to actually be rebuilt)

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.05 Release Notes (or backporting 23.05 and 23.11 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.

Replace `src = ./.` instances with more explicit source listings.
Otherwise, derivations will be rebuilt on any change to the files
defining them (e.g. formatting via nixfmt-rfc-style).
@github-actions github-actions bot added the 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. label Apr 10, 2024
@ofborg ofborg bot added 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 Apr 10, 2024
Copy link
Member

@infinisil infinisil left a comment

Choose a reason for hiding this comment

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

Awesome, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 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.

2 participants