From 0dd07440b4d92745ee93026e407e48cd10ef5edf Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Fri, 3 Feb 2023 00:49:56 +0300 Subject: test(tvix/cli): eval nixpkgs.stdenv in CI and assert that it matches Change-Id: If80194b5fdbf69512217bd4780e416e678045323 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8023 Reviewed-by: flokli Tested-by: BuildkiteCI --- tvix/cli/default.nix | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/tvix/cli/default.nix b/tvix/cli/default.nix index 7cb91979fd62..82e6c17c8268 100644 --- a/tvix/cli/default.nix +++ b/tvix/cli/default.nix @@ -1,5 +1,29 @@ { depot, pkgs, lib, ... }: -depot.tvix.crates.workspaceMembers.tvix-cli.build.override { +(depot.tvix.crates.workspaceMembers.tvix-cli.build.override { runTests = true; -} +}).overrideAttrs (_: { + meta = { + ci.extraSteps.eval-nixpkgs-stdenv = { + label = ":nix: evaluate nixpkgs.stdenv in tvix"; + needsOutput = true; + + command = pkgs.writeShellScript "tvix-eval-stdenv" '' + # Ensure tvix can find + COREPKGS=$(${pkgs.nix}/bin/nix-instantiate --eval -E '') + export NIX_PATH="nix=''${COREPKGS}:''${NIX_PATH}" + + TVIX_OUTPUT=$(result/bin/tvix -E '(import ${pkgs.path} {}).stdenv.drvPath') + EXPECTED='${/* the verbatim expected Tvix output: */ "=> \"${pkgs.stdenv.drvPath}\" :: string"}' + + echo "Tvix output: ''${TVIX_OUTPUT}" + if [ "$TVIX_OUTPUT" != "$EXPECTED" ]; then + echo "Correct would have been ''${EXPECTED}" + exit 1 + fi + + echo "Output was correct." + ''; + }; + }; +}) -- cgit 1.4.1