Skip to content

테스트 가치 기준 적용 및 CI 중복 비용 정리 - #98

Merged
jlc488 merged 4 commits into
mainfrom
codex/test-value-and-ci-cost-20261017
Oct 17, 2026
Merged

jlc488 merged 4 commits into
mainfrom
codex/test-value-and-ci-cost-20261017

Conversation

@jlc488

@jlc488 jlc488 commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

기능 변경마다 테스트가 누적되고 같은 검사가 반복 실행되는 부담을 줄이기 위한 변경입니다. 중요한 사용자 동작·공개 API·보안·데이터 무결성 검사는 유지합니다.

  • 조직 공통 기준을 AGENTS.md에 적용: 기존 검사 보강 우선, 구현 복사/불필요한 테스트 추가 제한, 중복 정리의 근거 기록.
  • 같은 SHA의 재시도는 실패한 job/케이스로 한정하고, 코드가 바뀌면 영향 범위와 필수 병합/릴리스 검증을 다시 확인합니다.
  • CI 변경: .github/workflows/ci.yml, .github/workflows/release.yml. 기존 필수 검사 이름과 보안·릴리스 검증은 유지합니다.
  • 테스트 정리 파일: tests/dds-solid-contracts.test.mjs, tests/dds-table-contracts.test.mjs.

정리 근거와 검증

  • Solid의 JSX/Ark/의존성 문자열·테스트 이름을 확인하던 4개 원문/메타 테스트를 제거했습니다. native/ARIA, controlled state, Dialog focus/Escape, Tabs, toast 동작·SSR·hydration은 실제 runtime 검사로 유지합니다.
  • Table CSS 주석 문구 assertion 5개만 제거하고 실제 레이아웃·터치 크기·hidden·exports 검사는 유지합니다.
  • 기본 package test가 포함하는 동일 a11y 파일을 별도로 또 호출하던 3개 명령(CI와 release 각각), i18n과 동일한 site-kit:seo 명령, foundation에서 이미 실행한 마지막 Storybook build를 제거했습니다.
  • 대상 원문 검사 8/8 통과, Solid 브라우저 38/38 통과(axe 포함), SSR 4/4 통과. frozen filtered 설치 및 tokens/css/icons 빌드 성공.
  • YAML, 실행 명령 확장에 따른 중복 여부와 diff 검사 통과. 독립 리뷰에서 삭제한 각각의 명령이 유지된 검증에 실제 포함됨을 확인했습니다.

검증: git diff --check 통과, 워크플로 YAML 파싱 통과. 문서/실행 스케줄만 바뀐 저장소는 새로운 테스트를 추가하거나 전체 테스트를 반복 실행하지 않았습니다. 변경된 테스트의 실행 증거는 위 검증 기록 및 PR CI에 구분해 남깁니다. 실제 월 절감액은 병합 후 사용량으로 측정해야 합니다.

CI에서 발견한 실행 연결 검사 보완

기존 foundation 검사는 모든 별도 명령 이름이 workflow에 있어야 한다고 요구해, 기본 suite에 포함된 a11y와 동일한 SEO/i18n 명령 통합을 거부했습니다. package/surface/release 인벤토리는 유지하면서 동일 명령 본문 또는 검증된 a11y 포함 관계만 허용하도록 수정했습니다. a11y 파일의 실제 존재, 같은 Vitest config와 include/exclude, 기본 package test 및 workflow 호출을 모두 확인합니다.

  • 최초 실패한 항목만 실행: node --test --test-name-pattern="every publishable" tests/foundation-contracts.test.mjs 1/1 통과.
  • 영향 있는 저비용 source stage: pnpm run verify:source:stage1-2 23/23 통과.
  • 독립 리뷰에서 a11y 파일 존재 확인 누락을 찾아 보완한 뒤 해당 항목만 다시 실행해 1/1 통과. 통과했던 runtime suite는 반복하지 않았습니다.
  • 새 SHA를 게시했으므로 CI가 새 코드에 대해 한 번 실행됩니다. 과거 실패 run을 전체 재시도한 것이 아닙니다.

Site-kit 실행 연결 검사

동일한 별도 solid:a11y 명령을 요구하던 site-kit 검사도 foundation의 실제 포함 관계 검사로 통합했습니다. 나머지 hydration/RTL/browser/release 검사는 유지했습니다.

  • 실패한 항목만 실행: node --test --test-name-pattern="Worker and browser fixtures" tests/site-kit-contracts.test.mjs 1/1 통과.
  • 영향 있는 source stage3-4: 78/78 통과. 독립 리뷰 지적 없음.

취소 그룹 검증

PR 번호가 없는 main/manual 실행은 run_id로 분리해 대기 중인 실행도 교체되지 않게 했습니다. YAML 파싱 및 비교로 concurrency group 외 event/job/step 값이 동일함을 확인했고 독립 리뷰를 통과했습니다.

@jlc488
jlc488 marked this pull request as ready for review October 17, 2026 10:01
@jlc488
jlc488 merged commit 64c4dd3 into main Oct 17, 2026
2 checks passed
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