Skip to content

ci: improve caching (Docker images, WASM build artifacts) #32

@darioAnongba

Description

@darioAnongba

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low priority

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions