Summary
CI performance could be improved with better caching. Currently:
- Esplora Docker image (~1GB+) is pulled fresh every run
- WASM build happens independently in multiple jobs (Node, Esplora integration, Signet smoke test, Browser)
- Rust compilation is cached via
Swatinem/rust-cache but each job caches separately
Potential Improvements
Docker image caching
- Use
docker/build-push-action with GitHub Actions cache backend
- Or
actions/cache to cache docker save output
- Or use a GitHub Container Registry mirror
WASM build artifact sharing
- Build WASM once in a dedicated job, upload as artifact
- Downstream jobs download the artifact instead of rebuilding
- Saves ~2 min per job that currently runs
wasm-pack build
Rust cache optimization
- Share Rust cache across jobs with matching keys
- Consider using
sccache for distributed compilation caching
Impact
- Current total CI time: ~4-5 min (parallel)
- Expected improvement: reduce Esplora job from ~3 min to ~1.5 min, reduce redundant WASM builds
Summary
CI performance could be improved with better caching. Currently:
Swatinem/rust-cachebut each job caches separatelyPotential Improvements
Docker image caching
docker/build-push-actionwith GitHub Actions cache backendactions/cacheto cachedocker saveoutputWASM build artifact sharing
wasm-pack buildRust cache optimization
sccachefor distributed compilation cachingImpact