Update public bundle metadata contract
This commit is contained in:
parent
c4d8d94f49
commit
c4141e0dee
6 changed files with 204 additions and 5 deletions
|
|
@ -4316,8 +4316,11 @@ fn bundle_inspection(args: BundleInspectArgs, cwd: PathBuf) -> Result<BundleInsp
|
|||
let identity_inputs = BundleIdentityInputs {
|
||||
wasm_code: wasm_source_proxy_digest(&selected_inputs),
|
||||
task_abi: task_abi_digest(&model),
|
||||
entrypoints: model.entrypoints.keys().cloned().collect(),
|
||||
default_entrypoint: model.default_entrypoint.clone(),
|
||||
environments: model.environments.clone(),
|
||||
source_provider_manifest: source_provider_manifest.digest.clone(),
|
||||
source_transfer_policy: source_provider_manifest.transfer_policy.clone(),
|
||||
selected_inputs,
|
||||
};
|
||||
let pre_schedule_diagnostics = pre_schedule_diagnostics(
|
||||
|
|
@ -5951,12 +5954,18 @@ mod tests {
|
|||
fn bundle_inspect_discovers_environments_selected_inputs_and_source_providers() {
|
||||
let temp = tempfile::tempdir().unwrap();
|
||||
fs::create_dir_all(temp.path().join("envs/linux")).unwrap();
|
||||
fs::create_dir_all(temp.path().join("envs/docker")).unwrap();
|
||||
fs::create_dir_all(temp.path().join("src")).unwrap();
|
||||
fs::write(
|
||||
temp.path().join("envs/linux/Containerfile"),
|
||||
"FROM alpine\n",
|
||||
)
|
||||
.unwrap();
|
||||
fs::write(
|
||||
temp.path().join("envs/docker/Dockerfile"),
|
||||
"FROM debian:stable-slim\n",
|
||||
)
|
||||
.unwrap();
|
||||
fs::write(temp.path().join("Cargo.toml"), "[package]\nname='demo'\n").unwrap();
|
||||
fs::write(temp.path().join("src/main.rs"), "fn main() {}\n").unwrap();
|
||||
|
||||
|
|
@ -6003,7 +6012,62 @@ mod tests {
|
|||
.transfer_policy
|
||||
.default_full_repo_tarball
|
||||
);
|
||||
assert_eq!(inspection.metadata.environments[0].name, "linux");
|
||||
assert!(inspection
|
||||
.metadata
|
||||
.environments
|
||||
.iter()
|
||||
.any(|environment| environment.name == "linux"));
|
||||
assert!(inspection
|
||||
.metadata
|
||||
.environments
|
||||
.iter()
|
||||
.any(|environment| environment.name == "docker"));
|
||||
assert_eq!(
|
||||
inspection.metadata.source_metadata.source_provider_manifest,
|
||||
inspection.source_provider_manifest.digest
|
||||
);
|
||||
assert!(
|
||||
inspection
|
||||
.metadata
|
||||
.source_metadata
|
||||
.transfer_policy
|
||||
.local_source_bytes_remain_node_local
|
||||
);
|
||||
assert!(
|
||||
!inspection
|
||||
.metadata
|
||||
.source_metadata
|
||||
.transfer_policy
|
||||
.coordinator_receives_source_bytes_by_default
|
||||
);
|
||||
assert!(
|
||||
!inspection
|
||||
.metadata
|
||||
.source_metadata
|
||||
.transfer_policy
|
||||
.default_full_repo_tarball
|
||||
);
|
||||
assert!(inspection
|
||||
.metadata
|
||||
.task_metadata
|
||||
.entrypoints
|
||||
.contains(&"build".to_owned()));
|
||||
assert_eq!(
|
||||
inspection.metadata.task_metadata.default_entrypoint,
|
||||
"build"
|
||||
);
|
||||
assert_eq!(
|
||||
inspection.metadata.task_metadata.task_abi,
|
||||
task_abi_digest(&ProjectModel::discover_without_config(temp.path()).unwrap())
|
||||
);
|
||||
assert!(inspection
|
||||
.metadata
|
||||
.wasm_code
|
||||
.as_str()
|
||||
.starts_with("sha256:"));
|
||||
assert!(inspection.metadata.debug_metadata.available);
|
||||
assert!(inspection.metadata.debug_metadata.source_level_breakpoints);
|
||||
assert!(inspection.metadata.debug_metadata.variables_pane_supported);
|
||||
assert!(!inspection.metadata.embeds_full_container_images);
|
||||
assert!(inspection
|
||||
.metadata
|
||||
|
|
@ -7567,6 +7631,33 @@ mod tests {
|
|||
.as_str()
|
||||
.unwrap()
|
||||
.starts_with("sha256:"));
|
||||
assert!(report["bundle"]["metadata"]["wasm_code"]
|
||||
.as_str()
|
||||
.unwrap()
|
||||
.starts_with("sha256:"));
|
||||
assert_eq!(
|
||||
report["bundle"]["metadata"]["task_metadata"]["default_entrypoint"],
|
||||
"build"
|
||||
);
|
||||
assert!(report["bundle"]["metadata"]["task_metadata"]["entrypoints"]
|
||||
.as_array()
|
||||
.unwrap()
|
||||
.iter()
|
||||
.any(|entrypoint| entrypoint == "release"));
|
||||
assert_eq!(
|
||||
report["bundle"]["metadata"]["source_metadata"]["transfer_policy"]
|
||||
["coordinator_receives_source_bytes_by_default"],
|
||||
false
|
||||
);
|
||||
assert_eq!(
|
||||
report["bundle"]["metadata"]["source_metadata"]["transfer_policy"]
|
||||
["default_full_repo_tarball"],
|
||||
false
|
||||
);
|
||||
assert_eq!(
|
||||
report["bundle"]["metadata"]["debug_metadata"]["dap_virtual_process"],
|
||||
true
|
||||
);
|
||||
assert_eq!(report["status"], "built");
|
||||
assert_eq!(report["scheduled_work"], false);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue