tvl-depot/tvix/store/default.nix
Florian Klink e71a857ec8 refactor(tvix/[ca]store): rename store composition feature flags
tvix-castore already supports composition without any additional feature
flags, the only thing that can be explicitly enabled is referring to
other stores via an anonymous url. Rename that feature flag to
"xp-composition-url-refs".

tvix-store effectively only controls the CLI surface, so rename this to
"xp-composition-cli".

The "store" in the feature name was dropped, as it's already apparent
from being in the tvix-[ca]store crate.

Change-Id: I1175dc6280cbba4cbcdfb7fd4b35fce713b45fc4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12747
Tested-by: BuildkiteCI
Reviewed-by: yuka <yuka@yuka.dev>
2024-11-11 18:46:33 +00:00

56 lines
2 KiB
Nix

{ depot, pkgs, lib, ... }:
let
mkImportCheck = p: expectedPath: {
label = ":nix :import ${p} with tvix-store import";
needsOutput = true;
command = pkgs.writeShellScript "tvix-import-check" ''
export BLOB_SERVICE_ADDR=memory://
export DIRECTORY_SERVICE_ADDR=memory://
export PATH_INFO_SERVICE_ADDR=memory://
TVIX_STORE_OUTPUT=$(result/bin/tvix-store import ${p})
EXPECTED='${/* the vebatim expected Tvix output: */expectedPath}'
echo "tvix-store output: ''${TVIX_STORE_OUTPUT}"
if [ "$TVIX_STORE_OUTPUT" != "$EXPECTED" ]; then
echo "Correct would have been ''${EXPECTED}"
exit 1
fi
echo "Output was correct."
'';
};
in
(depot.tvix.crates.workspaceMembers.tvix-store.build.override (old: {
runTests = true;
testPreRun = ''
export SSL_CERT_FILE=/dev/null
'';
features = old.features
# virtiofs feature currently fails to build on Darwin
++ lib.optional pkgs.stdenv.isLinux "virtiofs";
})).overrideAttrs (old: rec {
meta.ci = {
targets = [ "integration-tests" ] ++ lib.filter (x: lib.hasPrefix "with-features" x || x == "no-features") (lib.attrNames passthru);
extraSteps.import-docs = (mkImportCheck "tvix/docs/src/store" ../docs/src/store);
};
passthru = old.passthru // (depot.tvix.utils.mkFeaturePowerset {
inherit (old) crateName;
features = ([ "cloud" "fuse" "otlp" "tonic-reflection" "xp-composition-cli" ]
# virtiofs feature currently fails to build on Darwin
++ lib.optional pkgs.stdenv.isLinux "virtiofs");
override.testPreRun = ''
export SSL_CERT_FILE=/dev/null
'';
}) // {
integration-tests = depot.tvix.crates.workspaceMembers.${old.crateName}.build.override (old: {
runTests = true;
testPreRun = ''
export SSL_CERT_FILE=/dev/null
export PATH="$PATH:${pkgs.lib.makeBinPath [ pkgs.cbtemulator pkgs.google-cloud-bigtable-tool ]}"
'';
features = old.features ++ [ "integration" ];
});
};
})