diff options
| -rw-r--r-- | flake.nix | 1 | ||||
| -rw-r--r-- | zkvms_guest_io/default.nix | 13 | ||||
| -rw-r--r-- | zkvms_guest_io/src/main.rs | 19 |
3 files changed, 27 insertions, 6 deletions
@@ -70,6 +70,7 @@ inherit zkvms; inherit hostPackages; inherit craneLib-default; + rev = self.rev or self.dirtyRev; }; }) { } guests; in { diff --git a/zkvms_guest_io/default.nix b/zkvms_guest_io/default.nix index bce5a9c..b9ba3cc 100644 --- a/zkvms_guest_io/default.nix +++ b/zkvms_guest_io/default.nix @@ -1,4 +1,4 @@ -{ craneLib-default, guest, zkvms, hostPackages, lib, benchexec, }: +{ rev, craneLib-default, guest, zkvms, hostPackages, lib, metacraft-labs, benchexec, }: let commonArgs = { name = "${guest}"; @@ -13,7 +13,16 @@ let }; PROGRAMS = lib.foldr (zkvm: accum: - hostPackages."${zkvm}/${guest}" + "/bin/${zkvm}_${guest}," + accum) "" + (builtins.concatStringsSep + "|" + [ + zkvm + metacraft-labs.${zkvm}.src.rev + guest + rev + (hostPackages."${zkvm}/${guest}" + "/bin/${zkvm}_${guest}") + ] + ) + "," + accum) "" zkvms; postPatch = '' diff --git a/zkvms_guest_io/src/main.rs b/zkvms_guest_io/src/main.rs index 0b01e60..fdd0362 100644 --- a/zkvms_guest_io/src/main.rs +++ b/zkvms_guest_io/src/main.rs @@ -122,16 +122,27 @@ fn main() { } } - 'guest_iter: for zkvm_guest_command in zkvm_guest_commands.into_iter() { - if ignored.iter().any(|i| zkvm_guest_command.contains(i)) { + 'guest_iter: for zkvm_info in zkvm_guest_commands.into_iter() { + let zkvm_info_fields: Vec<&str> = zkvm_info.split('|').collect(); + let zkvm = zkvm_info_fields[0]; + + if ignored.iter().any(|i| zkvm.contains(i)) { continue; } + let zkvmRev = zkvm_info_fields[1]; + let guest = zkvm_info_fields[2]; + let commit = zkvm_info_fields[3]; + let zkvm_guest_command = zkvm_info_fields[4]; + let mut run = JsonValue::new_object(); - run["name"] = zkvm_guest_command.into(); + run["zkvmName"] = zkvm.into(); + run["zkvmRev"] = zkvmRev.into(); + run["programName"] = guest.into(); + run["commit"] = commit.into(); for operation in ["execute", "prove", "verify"] { - println!("== {operation} {zkvm_guest_command} =="); + println!("== {operation} {zkvm} =="); let output = run_command(zkvm_guest_command, operation); |
