This project uses layered cache buckets to reduce CI runtime:
- npm cache:
~/.npm,**/node_modules - cargo cache:
~/.cargo/registry,~/.cargo/git,contracts/target
- Docker buildx cache:
/tmp/.buildx-cache - Build artifacts:
Frontend/dist,Backend/dist,analytics/dist
- npm cache keys change when lock files (
**/package-lock.json) change - cargo cache keys change when
Cargo.lockchanges - Docker cache keys change when Dockerfiles/infrastructure docker files change
- Use workflow step timing metrics from GitHub Actions
- Track cache restore and save logs
- Compare cold-start runs versus warm-cache runs weekly