Update public large input metadata
This commit is contained in:
parent
c4141e0dee
commit
f8f91088d5
6 changed files with 113 additions and 4 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"kind": "disasmer-filtered-public-tree",
|
"kind": "disasmer-filtered-public-tree",
|
||||||
"source_commit": "b2b2e4a1b7c94ccc39c4d8cdfca6e98928fe2185",
|
"source_commit": "276fb9d6bd1d5a8d5f38df37ccf104664f6f5043",
|
||||||
"release_name": "dryrun-b2b2e4a1b7c9",
|
"release_name": "dryrun-276fb9d6bd1d",
|
||||||
"filtered_out": [
|
"filtered_out": [
|
||||||
"private/**",
|
"private/**",
|
||||||
"experiments/**",
|
"experiments/**",
|
||||||
|
|
|
||||||
|
|
@ -6068,6 +6068,35 @@ mod tests {
|
||||||
assert!(inspection.metadata.debug_metadata.available);
|
assert!(inspection.metadata.debug_metadata.available);
|
||||||
assert!(inspection.metadata.debug_metadata.source_level_breakpoints);
|
assert!(inspection.metadata.debug_metadata.source_level_breakpoints);
|
||||||
assert!(inspection.metadata.debug_metadata.variables_pane_supported);
|
assert!(inspection.metadata.debug_metadata.variables_pane_supported);
|
||||||
|
assert!(
|
||||||
|
inspection
|
||||||
|
.metadata
|
||||||
|
.large_input_policy
|
||||||
|
.selected_inputs_are_content_digests
|
||||||
|
);
|
||||||
|
assert!(
|
||||||
|
!inspection
|
||||||
|
.metadata
|
||||||
|
.large_input_policy
|
||||||
|
.selected_input_bytes_included
|
||||||
|
);
|
||||||
|
assert!(
|
||||||
|
!inspection
|
||||||
|
.metadata
|
||||||
|
.large_input_policy
|
||||||
|
.full_repository_bytes_included
|
||||||
|
);
|
||||||
|
assert!(
|
||||||
|
!inspection
|
||||||
|
.metadata
|
||||||
|
.large_input_policy
|
||||||
|
.silent_task_argument_serialization
|
||||||
|
);
|
||||||
|
assert!(inspection
|
||||||
|
.metadata
|
||||||
|
.large_input_policy
|
||||||
|
.supported_handle_types
|
||||||
|
.contains(&"SourceSnapshot".to_owned()));
|
||||||
assert!(!inspection.metadata.embeds_full_container_images);
|
assert!(!inspection.metadata.embeds_full_container_images);
|
||||||
assert!(inspection
|
assert!(inspection
|
||||||
.metadata
|
.metadata
|
||||||
|
|
@ -7658,6 +7687,31 @@ mod tests {
|
||||||
report["bundle"]["metadata"]["debug_metadata"]["dap_virtual_process"],
|
report["bundle"]["metadata"]["debug_metadata"]["dap_virtual_process"],
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
assert_eq!(
|
||||||
|
report["bundle"]["metadata"]["large_input_policy"]
|
||||||
|
["selected_inputs_are_content_digests"],
|
||||||
|
true
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
report["bundle"]["metadata"]["large_input_policy"]["selected_input_bytes_included"],
|
||||||
|
false
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
report["bundle"]["metadata"]["large_input_policy"]["full_repository_bytes_included"],
|
||||||
|
false
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
report["bundle"]["metadata"]["large_input_policy"]
|
||||||
|
["silent_task_argument_serialization"],
|
||||||
|
false
|
||||||
|
);
|
||||||
|
assert!(
|
||||||
|
report["bundle"]["metadata"]["large_input_policy"]["supported_handle_types"]
|
||||||
|
.as_array()
|
||||||
|
.unwrap()
|
||||||
|
.iter()
|
||||||
|
.any(|handle| handle == "Artifact")
|
||||||
|
);
|
||||||
assert_eq!(report["status"], "built");
|
assert_eq!(report["status"], "built");
|
||||||
assert_eq!(report["scheduled_work"], false);
|
assert_eq!(report["scheduled_work"], false);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ pub struct BundleMetadata {
|
||||||
pub task_metadata: BundleTaskMetadata,
|
pub task_metadata: BundleTaskMetadata,
|
||||||
pub source_metadata: BundleSourceMetadata,
|
pub source_metadata: BundleSourceMetadata,
|
||||||
pub debug_metadata: BundleDebugMetadata,
|
pub debug_metadata: BundleDebugMetadata,
|
||||||
|
pub large_input_policy: BundleLargeInputPolicy,
|
||||||
pub environments: Vec<EnvironmentResource>,
|
pub environments: Vec<EnvironmentResource>,
|
||||||
pub selected_inputs: Vec<SelectedInput>,
|
pub selected_inputs: Vec<SelectedInput>,
|
||||||
pub embeds_full_container_images: bool,
|
pub embeds_full_container_images: bool,
|
||||||
|
|
@ -55,6 +56,15 @@ pub struct BundleDebugMetadata {
|
||||||
pub variables_pane_supported: bool,
|
pub variables_pane_supported: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||||
|
pub struct BundleLargeInputPolicy {
|
||||||
|
pub selected_inputs_are_content_digests: bool,
|
||||||
|
pub selected_input_bytes_included: bool,
|
||||||
|
pub full_repository_bytes_included: bool,
|
||||||
|
pub silent_task_argument_serialization: bool,
|
||||||
|
pub supported_handle_types: Vec<String>,
|
||||||
|
}
|
||||||
|
|
||||||
impl BundleIdentityInputs {
|
impl BundleIdentityInputs {
|
||||||
pub fn identity(&self) -> Digest {
|
pub fn identity(&self) -> Digest {
|
||||||
let mut parts = vec![
|
let mut parts = vec![
|
||||||
|
|
@ -114,6 +124,18 @@ impl BundleIdentityInputs {
|
||||||
dap_virtual_process: true,
|
dap_virtual_process: true,
|
||||||
variables_pane_supported: true,
|
variables_pane_supported: true,
|
||||||
},
|
},
|
||||||
|
large_input_policy: BundleLargeInputPolicy {
|
||||||
|
selected_inputs_are_content_digests: true,
|
||||||
|
selected_input_bytes_included: false,
|
||||||
|
full_repository_bytes_included: false,
|
||||||
|
silent_task_argument_serialization: false,
|
||||||
|
supported_handle_types: vec![
|
||||||
|
"SourceSnapshot".to_owned(),
|
||||||
|
"Blob".to_owned(),
|
||||||
|
"Artifact".to_owned(),
|
||||||
|
"VFS".to_owned(),
|
||||||
|
],
|
||||||
|
},
|
||||||
environments: self.environments.clone(),
|
environments: self.environments.clone(),
|
||||||
selected_inputs: self.selected_inputs.clone(),
|
selected_inputs: self.selected_inputs.clone(),
|
||||||
embeds_full_container_images: false,
|
embeds_full_container_images: false,
|
||||||
|
|
@ -189,6 +211,22 @@ mod tests {
|
||||||
.transfer_policy
|
.transfer_policy
|
||||||
.local_source_bytes_remain_node_local
|
.local_source_bytes_remain_node_local
|
||||||
);
|
);
|
||||||
|
assert!(
|
||||||
|
metadata
|
||||||
|
.large_input_policy
|
||||||
|
.selected_inputs_are_content_digests
|
||||||
|
);
|
||||||
|
assert!(!metadata.large_input_policy.selected_input_bytes_included);
|
||||||
|
assert!(!metadata.large_input_policy.full_repository_bytes_included);
|
||||||
|
assert!(
|
||||||
|
!metadata
|
||||||
|
.large_input_policy
|
||||||
|
.silent_task_argument_serialization
|
||||||
|
);
|
||||||
|
assert!(metadata
|
||||||
|
.large_input_policy
|
||||||
|
.supported_handle_types
|
||||||
|
.contains(&"Artifact".to_owned()));
|
||||||
assert_eq!(metadata.environments.len(), 1);
|
assert_eq!(metadata.environments.len(), 1);
|
||||||
assert!(!metadata.embeds_full_container_images);
|
assert!(!metadata.embeds_full_container_images);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,8 +27,8 @@ pub use auth::{
|
||||||
PublicKeyIdentity, Scope,
|
PublicKeyIdentity, Scope,
|
||||||
};
|
};
|
||||||
pub use bundle::{
|
pub use bundle::{
|
||||||
BundleDebugMetadata, BundleIdentityInputs, BundleMetadata, BundleSourceMetadata,
|
BundleDebugMetadata, BundleIdentityInputs, BundleLargeInputPolicy, BundleMetadata,
|
||||||
BundleTaskMetadata, SelectedInput,
|
BundleSourceMetadata, BundleTaskMetadata, SelectedInput,
|
||||||
};
|
};
|
||||||
pub use capability::{Capability, CapabilityReportError, EnvironmentBackend, NodeCapabilities, Os};
|
pub use capability::{Capability, CapabilityReportError, EnvironmentBackend, NodeCapabilities, Os};
|
||||||
pub use checkpoint::{
|
pub use checkpoint::{
|
||||||
|
|
|
||||||
|
|
@ -391,6 +391,11 @@ expect(
|
||||||
"CLI build coverage verifies inspectable metadata",
|
"CLI build coverage verifies inspectable metadata",
|
||||||
/fn build_command_reuses_bundle_inspection_without_full_repo_upload\(\)[\s\S]*wasm_code[\s\S]*task_metadata[\s\S]*source_metadata[\s\S]*debug_metadata/
|
/fn build_command_reuses_bundle_inspection_without_full_repo_upload\(\)[\s\S]*wasm_code[\s\S]*task_metadata[\s\S]*source_metadata[\s\S]*debug_metadata/
|
||||||
);
|
);
|
||||||
|
expect(
|
||||||
|
cli,
|
||||||
|
"CLI build coverage verifies large input handle posture",
|
||||||
|
/large_input_policy[\s\S]*selected_inputs_are_content_digests[\s\S]*selected_input_bytes_included[\s\S]*silent_task_argument_serialization[\s\S]*supported_handle_types/
|
||||||
|
);
|
||||||
expect(
|
expect(
|
||||||
cli,
|
cli,
|
||||||
"CLI blocks build before scheduling unsafe inputs",
|
"CLI blocks build before scheduling unsafe inputs",
|
||||||
|
|
@ -430,6 +435,7 @@ for (const [name, pattern] of [
|
||||||
["doctor human mode", /\["doctor"\]/],
|
["doctor human mode", /\["doctor"\]/],
|
||||||
["doctor reachability JSON mode", /doctorJson\.coordinator_reachability\.status/],
|
["doctor reachability JSON mode", /doctorJson\.coordinator_reachability\.status/],
|
||||||
["bundle inspect JSON mode", /\["bundle", "inspect", "--project", project, "--json"\]/],
|
["bundle inspect JSON mode", /\["bundle", "inspect", "--project", project, "--json"\]/],
|
||||||
|
["bundle inspect large input JSON mode", /large_input_policy[\s\S]*SourceSnapshot/],
|
||||||
["auth expiry posture", /token_expiry_posture[\s\S]*expires_at/],
|
["auth expiry posture", /token_expiry_posture[\s\S]*expires_at/],
|
||||||
]) {
|
]) {
|
||||||
expect(outputModeSmoke, name, pattern);
|
expect(outputModeSmoke, name, pattern);
|
||||||
|
|
|
||||||
|
|
@ -101,5 +101,16 @@ assert.strictEqual(
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
assert.strictEqual(inspectJson.metadata.debug_metadata.dap_virtual_process, true);
|
assert.strictEqual(inspectJson.metadata.debug_metadata.dap_virtual_process, true);
|
||||||
|
assert.strictEqual(
|
||||||
|
inspectJson.metadata.large_input_policy.selected_inputs_are_content_digests,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
assert.strictEqual(inspectJson.metadata.large_input_policy.selected_input_bytes_included, false);
|
||||||
|
assert.strictEqual(inspectJson.metadata.large_input_policy.full_repository_bytes_included, false);
|
||||||
|
assert.strictEqual(
|
||||||
|
inspectJson.metadata.large_input_policy.silent_task_argument_serialization,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
assert(inspectJson.metadata.large_input_policy.supported_handle_types.includes("SourceSnapshot"));
|
||||||
|
|
||||||
console.log("CLI output mode smoke passed");
|
console.log("CLI output mode smoke passed");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue