verilator/ci
Geza Lore 5750c888a6
CI: Improve ccache handling in build and test jobs (#7874)
Cache key isolation: Include the build flavour (ccwarn/asan/gcov) in the
build ccache key, so the coverage (gcov), asan, and RTLMeter
(ccwarn-off) configurations no longer share and thrash the single
'<runs-on>-<cc>' bucket, nor warm-start from each other's (near-useless)
caches.

Prune stale entries instead of a fixed size cap: After building/testing,
evict ccache entries this run did not touch (--evict-older-than, based
on the run's own duration).  This bounds the saved cache to the current
working set, so CCACHE_MAXSIZE and CCACHE_LIMIT_MULTIPLE are no longer
needed and are removed (ccache falls back to its 5G default ceiling, but
is realistically much smaller).

ccache configuration:
- Drop CCACHE_COMPRESS (already the default in ccache 4.x).
- Add CCACHE_COMPILERCHECK=content, so a changed compiler mtime on a rebuilt
  ephemeral runner image does not invalidate the whole restored cache.
- Hoist all ccache-related variables (CACHE_BASE_KEY, CCACHE_*, CXX) to the
  workflow-level env.

Remove dead ccache scaffolding:
- reusable-lint-py: the job never compiles or caches; drop its ccache env.
- reusable-rtlmeter-run: remove the disabled persistent-cache step and its
  storage variables; keep CCACHE_DISABLE=1, since caching must stay off to
  keep RTLMeter timings representative.

Store test job ccache as artifacts for reuse
2026-07-06 01:44:32 +01:00
..
docker Commentary: Use standard multiline rst comments, other cleanups 2026-06-18 21:58:01 -04:00
ci-build.bash CI: Improve ccache handling in build and test jobs (#7874) 2026-07-06 01:44:32 +01:00
ci-common.bash CI: Improve ccache handling in build and test jobs (#7874) 2026-07-06 01:44:32 +01:00
ci-install.bash CI: Unify regression and RTLMeter build jobs to one (#7872) 2026-07-05 18:52:55 +01:00
ci-pages-notify.bash CI: Fix deleting pr notifications after multiple reruns 2026-07-04 22:46:19 +01:00
ci-pages.bash CI: Generate whole RTLMeter report in ci-rtlmeter-report.bash 2026-06-07 09:54:40 +01:00
ci-rtlmeter-cases.py CI: Load RTLMeter cases to run from separate file (#7730) 2026-06-07 20:50:31 +01:00
ci-rtlmeter-report.bash CI: Improve RTLMeter PR report (#7740) 2026-06-08 22:22:52 +01:00
ci-rtlmeter-report.py CI: Improve RTLMeter PR report (#7740) 2026-06-08 22:22:52 +01:00
ci-test.bash CI: Improve ccache handling in build and test jobs (#7874) 2026-07-06 01:44:32 +01:00
ci-win-compile.ps1 CI: Cleanup Windows build (#7873) 2026-07-05 19:15:09 +01:00
ci-win-test.ps1 CI: Cleanup Windows build (#7873) 2026-07-05 19:15:09 +01:00