From 45d8a78a8b39561622fafdc495edf2dbac49465d Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Tue, 17 Oct 2023 21:00:00 +0100 Subject: chore(tvix): move regenerate scripts to passthru This keeps things isolated a bit more. Change-Id: I437f2f63ee1567c0cbc02298514ad4d89f1dce85 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9790 Autosubmit: flokli Reviewed-by: Connor Brewster Tested-by: BuildkiteCI --- tvix/castore-go/default.nix | 10 ++++++++-- tvix/default.nix | 10 ---------- tvix/store-go/default.nix | 10 ++++++++-- 3 files changed, 16 insertions(+), 14 deletions(-) (limited to 'tvix') diff --git a/tvix/castore-go/default.nix b/tvix/castore-go/default.nix index 09bbb77f81d4..c5fe2f5d7834 100644 --- a/tvix/castore-go/default.nix +++ b/tvix/castore-go/default.nix @@ -1,5 +1,10 @@ { depot, pkgs, ... }: +let + regenerate = pkgs.writeShellScriptBin "regenerate" '' + (cd $(git rev-parse --show-toplevel)/tvix/castore-go && rm *.pb.go && cp ${depot.tvix.castore.protos.go-bindings}/*.pb.go . && chmod +w *.pb.go) + ''; +in (pkgs.buildGoModule { name = "castore-go"; src = depot.third_party.gitignoreSource ./.; @@ -10,10 +15,10 @@ label = ":water_buffalo: ensure generated protobuf files match"; needsOutput = true; command = pkgs.writeShellScript "pb-go-check" '' - ${depot.tvix.castore-go-generate} + ${regenerate} if [[ -n "$(git status --porcelain -unormal)" ]]; then echo "-----------------------------" - echo ".pb.go files need to be updated, run //tvix:castore-go-generate" + echo ".pb.go files need to be updated, mg run //tvix/castore-go/regenerate" echo "-----------------------------" git status -unormal exit 1 @@ -22,4 +27,5 @@ alwaysRun = true; }; }; + passthru.regenerate = regenerate; }) diff --git a/tvix/default.nix b/tvix/default.nix index 28e64d574a6e..43b942cef096 100644 --- a/tvix/default.nix +++ b/tvix/default.nix @@ -106,16 +106,6 @@ in # workspace too. shell = (import ./shell.nix { inherit pkgs; }); - # Update `.pb.go` files in tvix/castore-go with the generated ones. - castore-go-generate = pkgs.writeShellScriptBin "castore-go-protogen" '' - (cd $(git rev-parse --show-toplevel)/tvix/castore-go && rm *.pb.go && cp ${depot.tvix.castore.protos.go-bindings}/*.pb.go . && chmod +w *.pb.go) - ''; - - # Update `.pb.go` files in tvix/store-go with the generated ones. - store-go-generate = pkgs.writeShellScriptBin "store-go-protogen" '' - (cd $(git rev-parse --show-toplevel)/tvix/store-go && rm *.pb.go && cp ${depot.tvix.store.protos.go-bindings}/*.pb.go . && chmod +w *.pb.go) - ''; - # Build the Rust documentation for publishing on docs.tvix.dev. rust-docs = pkgs.stdenv.mkDerivation { inherit cargoDeps; diff --git a/tvix/store-go/default.nix b/tvix/store-go/default.nix index b559594a27f2..eb814d1e3ae9 100644 --- a/tvix/store-go/default.nix +++ b/tvix/store-go/default.nix @@ -1,5 +1,10 @@ { depot, pkgs, ... }: +let + regenerate = pkgs.writeShellScriptBin "regenerate" '' + (cd $(git rev-parse --show-toplevel)/tvix/store-go && rm *.pb.go && cp ${depot.tvix.store.protos.go-bindings}/*.pb.go . && chmod +w *.pb.go) + ''; +in (pkgs.buildGoModule { name = "store-go"; src = depot.third_party.gitignoreSource ./.; @@ -10,10 +15,10 @@ label = ":water_buffalo: ensure generated protobuf files match"; needsOutput = true; command = pkgs.writeShellScript "pb-go-check" '' - ${depot.tvix.store-go-generate} + ${regenerate} if [[ -n "$(git status --porcelain -unormal)" ]]; then echo "-----------------------------" - echo ".pb.go files need to be updated, run //tvix:store-go-generate" + echo ".pb.go files need to be updated, mg run //tvix/store-go/generate" echo "-----------------------------" git status -unormal exit 1 @@ -22,4 +27,5 @@ alwaysRun = true; }; }; + passthru.regenerate = regenerate; }) -- cgit 1.4.1