Hive
perf(cache): split Swift actions and prefetch output restore
GitHub issue · Closed
Source
tuist/once #91
Updated
Jun 24, 2026
Domains
Once
Summary
- Split
apple_librarySwift compilation into separate module/header and static archive actions so cache keys can track Swift interface outputs independently from archive packaging. - Compose graph target action digests from every declared action for multi-action targets, preserving single-action digests unchanged while making downstream cache keys reflect provider-visible outputs.
- Prefetch cached output blobs concurrently during restore with a bounded window and disk staging, preserving deterministic final materialization without retaining every blob in memory.
- Added regression coverage for multi-output restore, prefetch windows, failure-before-materialization behavior, target digest aggregation, and the Apple Swift action split.
Testing
mise exec -- cargo fmt --all -- --checkmise exec -- cargo test -p once-core outputs::testsmise exec -- cargo test -p once-cli commands::graph::analysis::testsmise exec -- cargo test -p once-frontend --libmise exec -- cargo clippy -p once-core -p once-cli -p once-frontend --all-targets -- -D warningsxcrun --sdk iphoneos swiftc -module-name AppCore -target arm64-apple-ios17.0 -parse-as-library -static -emit-module -emit-module-path <tmp>/AppCore.swiftmodule -emit-objc-header -emit-objc-header-path <tmp>/AppCore-Swift.h fixtures/apple_library/apps/ios/AppCore/Sources/Greeting.swift
Investigate, reproduce, or fix this item in an isolated repository. Each Flight preserves its outcome and agent session.
New Flights are paused
Configure model inference, GitHub, and a sandbox provider to start another Flight. Existing results remain available below.
No Flights yet
Start a Flight and preserve its objective, outcome, and session here.
No GitHub comments yet.