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

    P2Medium priority

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions