Skip to content

ci: lint 워크플로 Gradle 캐싱 소유자 통일 — 정책 테스트 모순으로 죽던 Run Unit Tests 복구 - #913

Merged
OnlyReadOneBook merged 1 commit into
developfrom
fix/lint-gradle-cache-owner
Aug 23, 2026
Merged

OnlyReadOneBook merged 1 commit into
developfrom
fix/lint-gradle-cache-owner

Conversation

@OnlyReadOneBook

@OnlyReadOneBook OnlyReadOneBook commented Aug 23, 2026 •

Copy link
Copy Markdown
Collaborator

문제

develop 이 자기모순 상태다: lint.yml ktlint job 의 setup-java cache: 'gradle'(ee88568, ktlint 전체 검사 게이트 추가 때 도입)을, 이후 강화된 supply-chain 정책 테스트 "Gradle caching has a single owner in every workflow"(4812bc1, #845 계열)가 금지한다.

이 때문에 모든 열린 PR 의 Run Unit Tests 가 node 정책 테스트 단계(~10초)에서 실패해 Kotlin 유닛테스트가 아예 실행되지 않는다 — 실측: PR #911 run 32622105578.

수정

  • ktlint job 의 setup-java 에서 cache: 'gradle' 제거
  • 그 자리에 android-lint job 과 동일한 pinned gradle/actions/setup-gradle(cache-provider: basic, cache-read-only: true, validate-wrappers: true) 단계 추가 — 캐싱 소유자를 setup-gradle 하나로 통일하면서, ./gradlew ktlintCheck 실행 전 wrapper 검증(fail-closed)도 확보

검증

  • node --test .github/scripts/*.test.mjs: 수정 전 46/47(유일한 실패가 바로 이 모순 — lint.yml uses setup-java caching) → 수정 후 47/47 통과
  • 위반 전수 확인: 전체 워크플로 grep(cache: gradle · actions/cache@) — 위반은 lint.yml 25행 단 한 곳, 다른 워크플로에는 없음
  • lint.yml YAML 파싱 정상
  • Kotlin 코드·리소스 무변경(워크플로 yml 만) → gradle 빌드·시각 검증 해당 없음

리뷰어에게

  • 이 PR 자체의 CI 가 최종 검증이다: Run Unit Tests 의 정책 테스트 단계가 통과하고, lint.yml 의 ktlint job 이 setup-gradle 경로로 실제 동작하는 것을 이 PR 의 체크에서 그대로 확인할 수 있다.
  • 머지 후, 열린 PR 들은 develop 을 머지(또는 리베이스)해야 Run Unit Tests 가 복구된다.

@OnlyReadOneBook
OnlyReadOneBook merged commit db42c46 into develop Aug 23, 2026
12 checks passed
@OnlyReadOneBook
OnlyReadOneBook deleted the fix/lint-gradle-cache-owner branch August 23, 2026 06:44
@github-actions

Copy link
Copy Markdown
Contributor

🚀 QA 배포 권장

QA 포인트

이 판단은 배포를 자동 실행하지 않습니다. deploy일 때 Release Distribution을 수동 실행하세요.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant