Skip to main content

ic_testkit/artifacts/
mod.rs

1//! Host-side artifact discovery, freshness, and Wasm build helpers.
2//!
3//! These functions keep integration-test artifacts in caller-selected target
4//! directories and contain no application-specific package or profile policy.
5
6mod cache_fs;
7mod digest;
8mod icp;
9mod tool;
10mod transaction;
11mod transaction_batch;
12mod wasm;
13mod wasm_batch;
14mod wasm_cache;
15mod workspace;
16
17#[cfg(test)]
18mod test_support;
19
20pub use cache_fs::{ArtifactCacheMaintenance, ArtifactCachePrunePolicy, ArtifactCachePruneReport};
21pub use digest::InputDigest;
22pub use icp::{
23    WatchedInputSnapshot, icp_artifact_ready_for_build, icp_artifact_ready_with_snapshot,
24};
25pub use tool::resolve_executable;
26pub use transaction::{
27    ArtifactBuildTransaction, ArtifactCacheArtifact, ArtifactCacheError, ArtifactCacheOutcome,
28    ArtifactCachePreparation, ArtifactCacheRecord, ArtifactCacheSpec, ArtifactCacheTimings,
29    ArtifactOutputValidation, prepare_artifact_cache, prune_artifact_cache,
30};
31pub use transaction_batch::{
32    ArtifactCacheBatchContractError, ArtifactCacheBatchEntry, ArtifactCacheBatchFailedEntry,
33    ArtifactCacheBatchFailure, ArtifactCacheBatchFailurePhase, ArtifactCacheBatchFailureTimings,
34    ArtifactCacheBatchMetrics, ArtifactCacheBatchOutcomeEntry, ArtifactCacheBatchReport,
35    LabeledArtifactCacheSpec, build_artifact_caches_batch,
36};
37pub use wasm::{read_wasm, wasm_artifacts_ready, wasm_path};
38pub use wasm_batch::{
39    LabeledWasmBuildSpec, WasmBuildBatchConfig, WasmBuildBatchContractError, WasmBuildBatchEntry,
40    WasmBuildBatchFailure, WasmBuildBatchMaintenanceEntry, WasmBuildBatchMetrics,
41    WasmBuildBatchOutcomeEntry, WasmBuildBatchProgressEvent, WasmBuildBatchReport,
42    build_wasm_canisters_cached_batch, build_wasm_canisters_cached_batch_with_config,
43    build_wasm_canisters_cached_batch_with_config_and_progress,
44    build_wasm_canisters_cached_batch_with_progress,
45};
46pub use wasm_cache::{
47    CargoBuildInput, ResolvedCargoBuildInputs, SharedIncrementalTargetInspection,
48    SharedIncrementalTargetMaintenance, SharedIncrementalTargetMaintenanceConfig,
49    SharedIncrementalTargetMaintenanceFailureMode, SharedIncrementalTargetMaintenanceOutcome,
50    SharedIncrementalTargetPrunePolicy, WasmBuildCacheMode, WasmBuildError, WasmBuildOutcome,
51    WasmBuildOutputStream, WasmBuildPhase, WasmBuildProgressConfig, WasmBuildProgressEvent,
52    WasmBuildProgressOutcome, WasmBuildProgressPhase, WasmBuildRecord, WasmBuildSpec,
53    WasmBuildTimings, WasmInputResolutionTimings, build_wasm_canisters_cached,
54    build_wasm_canisters_cached_with_progress, inspect_shared_incremental_target,
55    maintain_shared_incremental_target, maintain_shared_incremental_target_at_most_every,
56    prune_wasm_build_cache, resolve_cargo_build_inputs,
57};
58pub use workspace::{test_target_dir, workspace_root_for};