Feature request: Make nix build
logs permanently available.
#355
Labels
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: M-Labs/artiq-zynq#355
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
EDIT: If you want to get your Vivado build logs in a simple and deterministic way with just a few nix commands, skip this entire question and read the long answer at the bottom!
Feature request: Make
nix build
logs permanently available.nix build [...]
and in particularflake.nix
->"makeArtiqZynqPackage.kasli_soc-${variant}-sd"
complete, we want to verify that the build log contains the magic phrase"All user specified timing constraints are met."
.Problems
/nix/store/$out
and then never write to it again, only copy from it./nix/store/$out
is populated, but there is (almost) no build log, because the firmware and gateware are not affected and are thus not re-built. I don't know how to find the firmware and gateware programmatically because they do not appear innix-store --query --references /nix/store/$out
. Solution: ???My own attempts
nix log
recursively on/nix/store/...
-paths so that the same build log is generated as fromnix build [...]
.flake.nix
->"makeArtiqZynqPackage.kasli_soc-${variant}-sd"
, which places the log from the very first build as a file in/nix/store/$out
, but this solution breaks when the json file (system description file) is simply renamed or moved to another directory, see problem 2. above.What's your issue with using the existing
nix log
feature?This is just what Hydra is using and it is working fine for the purposes you mention. https://nixbld.m-labs.hk/build/173401/log
@sb10q Thank you, Sebastien! I learned more about nix than I ever wanted to.
Edit from a few days later: See Automated firmware building for the Kasli SoC and sinara-firmware-compiler.
@ future visitors: Given the system description file on my computer and before running
nix build
, the python code further below outputs:After
nix build
completes, one can usenix log "/nix/store/1sxaa5703vn2rqvpqsdyl0zs3665m21m-kasli_soc-satellite-gateware"
(for example) to get the original build log of the gateware (for example).