Files
pezkuwi-sdk/.github/actions/rust-cache/action.yml
T
pezkuwichain 63c23e9ac9 perf: optimize CI workflows with caching and reduced parallelism
Changes:
- Add Rust caching (Swatinem/rust-cache) to all heavy build jobs
- Reduce cargo-check-each-crate from 7 to 4 parallel jobs
- Reduce tests-linux-stable matrix from 6 to 3 jobs
- Set CARGO_INCREMENTAL=0 for consistent caching
- Reduce timeouts from 60 to 45 minutes (cache makes builds faster)
- Remove redundant disk cleanup steps (cache handles this)

Expected improvements:
- 50-80% faster builds after cache is populated
- Lower VPS load (fewer parallel jobs)
- More consistent build times

Affected workflows:
- checks.yml (cargo-clippy, check-try-runtime)
- tests.yml (quick-benchmarks, cargo-check-all-benches)
- tests-misc.yml (test-pezframe-ui, cargo-check-each-crate)
- tests-linux-stable.yml (test-linux-stable)
- docs.yml (test-doc, build-rustdoc)
2026-01-26 23:44:30 +03:00

24 lines
587 B
YAML

name: "Rust Cache"
description: "Setup Rust caching for CI jobs"
inputs:
cache-key:
description: "Additional cache key"
required: false
default: ""
workspaces:
description: "Workspace paths to cache"
required: false
default: ". -> target"
runs:
using: "composite"
steps:
- name: Setup Rust cache
uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2.7.8
with:
shared-key: pezkuwi-${{ inputs.cache-key }}
workspaces: ${{ inputs.workspaces }}
cache-on-failure: true
cache-all-crates: true