You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
perf(ci): build-cache 워밍이 캐시 키가 그대로인 develop push 에서도 11분씩 돈다 — 저장이 원천 불가한 run #1047
restoreKeys 를 두지 않는다 (“No restoreKeys is set, to start with a clear cache after dependency update.”)
exact match 로 복원하면 저장을 건너뛴다 (matchedKey === primaryKey)
그래서 실제 동작은 두 갈래뿐이다.
빌드 스크립트
복원
저장
바뀜 (새 키)
miss — 빈 GUH 로 시작
성공
그대로 (같은 키)
exact hit
스킵
키가 그대로인 push 에서 도는 워밍 run 은 저장이 원천적으로 불가능하다. 11분을 쓰고 버린다. develop push 는 PR 을 머지할 때마다 나므로 빈도가 높다 — 2026-08-24 에는 10:52~10:56 사이에만 3회였다.
워밍이 필요한 자리는 그대로 유효하다
restoreKeys 가 없으므로 빌드 스크립트가 바뀌면 build cache 가 통째로 리셋된다. 같은 날 develop 스코프에 키가 5개 생겼으니 리셋이 5번 있었고, 그 직후 첫 PR run 들이 빈 캐시를 만난다. 워밍의 가치는 정확히 그 자리에 있다 — 없애는 것이 아니라 그때만 돌게 하면 된다.
범위
build-cache-warm.yml 의 push 트리거에 paths 를 걸어 캐시 키 해시 입력이 바뀐 push 에서만 돌게 한다. 패턴은 위 7종과 일치시킨다 — 좁으면 캐시가 영영 안 채워지고, 넓으면 낭비가 남으므로 정본을 그대로 따른다.
workflow_dispatch 는 유지한다(수동 워밍 경로).
정책 테스트로 고정한다 — paths 목록이 setup-java 의 키 입력과 어긋나면 실패하도록.
완료 조건
빌드 스크립트를 건드리지 않은 develop push 에서 워밍 run 이 생성되지 않는다.
빌드 스크립트가 바뀐 develop push 에서는 워밍이 돌고, 그 run 의 post 로그가 Save was skipped 가 아니라 저장 성공으로 남는다. run 링크와 함께 수치를 이 이슈에 남긴다.
Activity
perf(ci): 캐시 키 정본을 setup-gradle 로 바로잡고 gradle.properties 를 뺀다 (#1047 리뷰)