You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Compile layers — deploy/Dockerfile copies the whole workspace then runs dx build / cargo build --release. Any crate change invalidates the compile layer; cold CI also pays full dep compile twice (UI stage + controller stage).
#41 exporting to GitHub Actions Cache
#41 ERROR: not_found
ERROR: failed to build: failed to solve: not_found
Likely causes: GHA cache size/limits or Buildx type=gha export race on a huge multi-arch Rust cache. Current workflow uses cache-from: type=gha and cache-to: type=gha,mode=max in image.yml.
Proposed Solution
Decide with data; do not assume one approach:
A. Reliable cache export (must fix redness)
Prefer registry cache (type=registry) on GHCR, or drop cache-to until layering is sane.
Or keep cache-from only; never fail the job on cache export (if Buildx/action supports it).
Avoid mode=max for multi-arch Rust if it blows past GHA cache limits.
B. Dependency layering (compile speed)
cargo-chef (or BuildKit cache mounts for cargo registry + target) in UI and builder stages.
Recipe/cook so deps reuse across commits when Cargo.lock is unchanged.
Parent epic: #44
Objective / Problem
Two related cache problems:
deploy/Dockerfilecopies the whole workspace then runsdx build/cargo build --release. Any crate change invalidates the compile layer; cold CI also pays full dep compile twice (UI stage + controller stage).main+sha-71ac73ato GHCR, then failed for ~4h36 wall time with:type=ghaexport race on a huge multi-arch Rust cache. Current workflow usescache-from: type=ghaandcache-to: type=gha,mode=maxinimage.yml.Proposed Solution
Decide with data; do not assume one approach:
A. Reliable cache export (must fix redness)
type=registry) on GHCR, or dropcache-tountil layering is sane.cache-fromonly; never fail the job on cache export (if Buildx/action supports it).mode=maxfor multi-arch Rust if it blows past GHA cache limits.B. Dependency layering (compile speed)
target) in UI and builder stages.Cargo.lockis unchanged.Evidence to preserve
main,sha-71ac73a).QA
deploy/README.mdor workflow comments.