e71a857ec8
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>
56 lines
2 KiB
Nix
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" ];
|
|
});
|
|
};
|
|
})
|