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
ci: managed-device selected 레인이 같은 클래스 selector 를 앞 2개만 실행 — 선언·검증 정책과 실행이 불일치 #1378
#1333(PR #1349)로 도입된 managed-device selected 레인이 같은 클래스의 selector 를 선언 순서 앞 2개만 실행한다. 정책(ci-test-plan.mjs)은 변경한 androidTest 파일의 @test전량 선언을 강제하고, 검증기(verify-android-test-plan-result.mjs)는 선언 전량이 결과 XML 에 있기를 요구하므로 — @test 3개 이상인 테스트 파일을 건드린 PR 은 selected 레인을 구조적으로 통과할 수 없다. 실행부만 선언을 못 따라가는 상태다.
Gradle 호출은 -Pandroid.testInstrumentationRunnerArguments.class=<selector 콤마 목록> 단일 인자, 단일 invocation (아티팩트 _temp/android-test-logs/api30.log 로 확인 — 재시도 없음).
ANDROID_TEST_OUTCOME=success — 실행 자체는 조용히 성공하므로 utp 발견 단계에서 이미 잘린다.
메서드별 어노테이션 차이 없음(전부 평범한 @Test).
경계 추정
클래스별 개수 상한 2 는 ADV=3 전부 실행과 모순. 길이로 보면 클래스별 그룹 문자열(클래스#m1,m2,…) 기준 APP 2개=207자(실행) / 3개=297자(잘림), ADV 3개=277자(실행) — 클래스별 ~280자 부근 상한과 정합. 정확한 경계는 AGP/utp 필터 파싱 소스 확인이나 계측 실험으로 특정 필요.
처방 (안)
android-managed-device.yml 의 단일 gradle invocation 을 청크 분할 실행으로:
가설 수정 (추가 실측) — PR #1374 의 c9515f9 런에서 3클래스 4개 selector(클래스당 최대 2개) 목록이 2개만 실행됐다(직전 c868f8a 런에서는 같은 목록 4개 전부 실행). 즉 「클래스별 앞 2개 상한」·「클래스별 길이 상한」 가설은 모두 반증됐고, 실체는 다중 목록의 비결정적 드롭(연속 구간이 런마다 다르게 사라짐)이다. 전 런에서 신뢰된 형태는 단일 selector 뿐. 이에 따라 PR #1380 을 청크 분할이 아니라 누락 selector 단일 invocation 자가 치유 재실행으로 재설계했다. 근본 원인(필터 문자열이 잘리는 전달 지점) 특정은 후속으로 남긴다.
Activity
github-actions commentedon Aug 28, 2026
이 이슈는 필수 메타데이터를 판정할 수 없어 자동으로 닫았습니다.
작업 유형이 없거나 허용된 값이 아닙니다.주 담당 모듈이 없거나 허용된 값이 아닙니다.이슈 등록 양식에 맞게 본문을 보완한 뒤 다시 열어 주세요.
ci: selected 레인의 누락 selector 를 단일 invocation 으로 자가 치유한다 (#1378)
OnlyReadOneBook commentedon Aug 28, 2026
가설 수정 (추가 실측) — PR #1374 의 c9515f9 런에서 3클래스 4개 selector(클래스당 최대 2개) 목록이 2개만 실행됐다(직전 c868f8a 런에서는 같은 목록 4개 전부 실행). 즉 「클래스별 앞 2개 상한」·「클래스별 길이 상한」 가설은 모두 반증됐고, 실체는 다중 목록의 비결정적 드롭(연속 구간이 런마다 다르게 사라짐)이다. 전 런에서 신뢰된 형태는 단일 selector 뿐. 이에 따라 PR #1380 을 청크 분할이 아니라 누락 selector 단일 invocation 자가 치유 재실행으로 재설계했다. 근본 원인(필터 문자열이 잘리는 전달 지점) 특정은 후속으로 남긴다.
OnlyReadOneBook commentedon Aug 28, 2026
메타데이터 가드가 요구한 필수 항목(작업 유형 maintenance·주 담당 모듈 platform)을 본문에 보완해 다시 엽니다. 구현 PR 은 닫힌 #1380 의 브랜치를 이어받아 새로 엽니다(닫힌 뒤 force-push 로 재오픈 불가).
Merge pull request #1382 from Afternote/ci/1378-selected-lane-chunking