Repository navigation
maintenance(ci): default branch androidTest 실패가 xfail 목록 밖이라 무신호 — PR selected 모드가 3회 연속 red 를 가린다 #1439
Copy link
Copy link
Closed
Labels
area:platformCI·빌드·릴리스·저장소 운영 영역CI·빌드·릴리스·저장소 운영 영역maintenanceCI·빌드·의존성·저장소 운영 유지보수CI·빌드·의존성·저장소 운영 유지보수
Description
작업 유형
maintenance — CI·빌드·의존성·저장소 운영 유지보수
주 담당 모듈
platform — Android 앱·CI·빌드·릴리스·저장소 운영
개요
android-managed-device.yml 의 default branch 실행이 3회 연속 red 인데 아무도 알지 못한다. 같은 기간 PR 실행은 15회 연속 초록이라 required check 는 전부 통과하고 있다.
실측 (2026-08-29, origin/develop 7345e7ad0)
| 실행 | 이벤트 | 결과 | 실패 job |
|---|---|---|---|
33051693142 (08-27 07:54) |
workflow_dispatch | failure | Pixel 2 API 30 androidTest |
33050107240 (08-27 07:31) |
workflow_dispatch | failure | Pixel 2 API 30 androidTest |
32886612974 (08-25 18:55) |
schedule | failure | Pixel 2 API 30 androidTest |
같은 기간 pull_request 실행 15건은 전부 success.
왜 갈리나 — PR 은 selected 모드라 본문 CI Test Plan 에 선언한 FQCN#method 만 돌고, default branch 정기·수동 실행만 full 로 API 30 전량을 돈다. 전량에서만 깨지는 테스트는 PR 어디에도 안 나타난다.
무신호인 이유 (셋 다 실측 확인)
.github/ci-expected-failures.json은unitTests·screenshotModules두 갈래뿐이고 androidTest 항목 자체가 없다. fix(ci): develop 의도된 red 게이트가 무관 PR required check 를 빨갛게 만든다 — 기대 실패 목록(xfail) 도입 #1383 이 xfail 목록을 세울 때 범위 밖이었다.android-managed-device.yml에 실패 시 이슈 발행·알림 스텝이 없다.- default branch 실패는 어떤 required check 도 건드리지 않는다 — 룰셋이 보는 건 PR 컨텍스트다.
즉 이 red 는 게이트에도 안 걸리고, 목록에도 없고, 아무도 통보받지 않는다.
8/27 실패 8건의 현재 상태
AfternoteAuthorAndroidTest3건 ·AfternoteAuthorImplementedCoverageAndroidTest4건 → 해소됨.eca12a071(에뮬레이터가 필요 없는 androidTest 14개를 feature 모듈 src/test 로 — 위치 때문에 한 번도 실행되지 않는 상태 해소 #1035, develop 머지 완료)이 두 클래스를feature/afternote/presentation/src/test의 JVM 테스트로 옮기며 파일째 삭제했다.AfternoteAuthorExtendedAndroidTest1건 → 파일 존속, 현재 상태 미확인. 다음 정기 실행(화·금 17:18 UTC)이 판정한다.
잔여 1건이 이미 나았더라도 무신호 구조는 그대로 남는다. 이 이슈의 본체는 그쪽이다.
완료 조건
- default branch 의
fullandroidTest 실패가 어딘가에 잡힌다. 셋 중 하나를 고른다 — (a)ci-expected-failures.json에androidTests갈래를 신설해 의도된 실패만 명시적으로 허용하고 목록 밖 실패를 red 로 세운다, (b) 실패 시 이슈를 자동 발행한다, (c) default branch 실패를 별도 알림 채널로 보낸다. (a) 가 fix(ci): develop 의도된 red 게이트가 무관 PR required check 를 빨갛게 만든다 — 기대 실패 목록(xfail) 도입 #1383 이 세운 정본과 같은 축이라 선호. - (a) 를 택하면 XPASS 도 red 여야 한다 — 목록에 남은 채 낫는 것을 막는다(DTO 기본값·receiverIds nullable 제거 — 누락 계약을 빈 값으로 은폐 #790·수신자용 달력 월 이동·예약 잠금 상세가 최종 시안 대비 미완성 #873 계열 운용과 동일).
- 가드가 현행 상태에 대고 먼저 실패함을 확인한 뒤 고친다.
AfternoteAuthorExtendedAndroidTest의 현재 상태를 판정해, 실패라면 수복하거나 목록에 사유와 함께 등재한다.
자식 이슈
No response
참고
- 발단: Gradle Managed Device 기반 전 범위 androidTest 인프라와 app·core·onboarding canary 도입 #835 완료 확인 중 실측. 그 이슈의 완료 조건(required check 편입)과는 무관해 별건으로 뗀다.
- 정본: fix(ci): develop 의도된 red 게이트가 무관 PR required check 를 빨갛게 만든다 — 기대 실패 목록(xfail) 도입 #1383 «develop 의도된 red 게이트가 무관 PR required check 를 빨갛게 만든다 — 기대 실패 목록(xfail)» — androidTest 갈래가 그 범위 밖이었다.
- 관련: develop androidTest 컴파일 실패 44건 — 배치 머지 API 드리프트가 미검증 착륙, 컴파일 게이트 부재 #936 «develop androidTest 컴파일 실패 44건 — 컴파일 게이트 부재»(closed, androidTest 도메인 API 드리프트 44건+런타임 7건 수정, PR 컴파일 게이트 추가 #949 로 해소). 그 건은 컴파일, 이 건은 실행이라 별개다.
- 관련: 에뮬레이터가 필요 없는 androidTest 14개를 feature 모듈 src/test 로 — 위치 때문에 한 번도 실행되지 않는 상태 해소 #1035 (에뮬레이터 불필요 androidTest 를 feature src/test 로) — 8/27 실패 8건 중 7건을 결과적으로 해소했다.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:platformCI·빌드·릴리스·저장소 운영 영역CI·빌드·릴리스·저장소 운영 영역maintenanceCI·빌드·의존성·저장소 운영 유지보수CI·빌드·의존성·저장소 운영 유지보수
Activity
ci: 경로 정규식 이스케이프를 전체 메타문자로 넓힌다 (#1439)