Use string interpolation to generate Cargo.lock path#351
Open
Zabot wants to merge 2 commits intocargo2nix:release-0.11.0from
Open
Use string interpolation to generate Cargo.lock path#351Zabot wants to merge 2 commits intocargo2nix:release-0.11.0from
Zabot wants to merge 2 commits intocargo2nix:release-0.11.0from
Conversation
psionic-k
approved these changes
Apr 3, 2024
| let | ||
| nixifiedLockHash = "{{ cargo_lock_hash }}"; | ||
| workspaceSrc = if args.workspaceSrc == null then ./. else args.workspaceSrc; | ||
| currentLockHash = builtins.hashFile "sha256" (workspaceSrc + /Cargo.lock); |
Member
There was a problem hiding this comment.
I think I just reviewed a duplicate change for this, but either way this change will be intergrated. Thanks.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When specifying a custom
workspaceSrcnix buildwill fail with the following errorIf you do build with
--impure, the build later fails at the same place, this time failing to find the directoryBoth of these errors are because nix attempts to resolve the
/Cargo.lockpath used to lookup the lockfile as an absolute path on the file system, and fails. Instead we should use string interpolation to append the/Cargo.lockpath to whatever path was passed in through theworkspaceSrc.I'm not quite sure why this isn't an issue when the
workspaceSrcis not set. It seems like its related to how nix tries to evaluate the expression though, perhaps because the left hand side is unambiguously a path the right side is simply concatenated instead of being resolved first.