Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,14 @@ on:
permissions:
contents: read

concurrency:
# Superseded PR runs are obsolete; main/release runs retain distinct groups.
group: ci-${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.ref || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
verify:
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
16 changes: 16 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# devslab-kr.github.io 작업 지침

<!-- devslab-testing-policy:start -->
## 테스트 가치와 CI 비용

- 테스트는 실제 사용자 동작, 공개 API/호환성, 권한·보안, 데이터 무결성/손실 방지와 재현된 장애의 회귀 방지에 집중한다.
- 문서·문구·단순 스타일·설정 등 영향이 작은 변경에 테스트를 자동으로 추가하지 않는다. 새 파일보다 기존 테스트 보강을 우선한다.
- 구현을 그대로 복사한 예상값, 특정 변수명·CSS/JSX 문자열·파일 배치·전체 설정 스냅샷은 실제 계약이 아닌 한 새로 고정하지 않는다. 실제 접근성·보안·배포 계약을 소스 검사라는 이유만으로 없애지 않는다.
- 중복 검사는 보호 대상과 기존 대체 검사를 확인해 통합한다. 중요한 단위·통합·E2E 검사가 서로 다른 실패를 잡는다면 유지한다. 삭제/통합 이유와 남는 검증을 PR에 기록한다.
- 수정 중에는 실패한 테스트와 변경 영향 범위부터 실행한다. 실패를 확인하고 원인을 고치며, 성공할 때까지 근거 없이 반복 실행하거나 기준을 낮추지 않는다.
- 같은 커밋(SHA)의 CI 재시도는 `gh run rerun RUN_ID --failed --repo devslab-kr/REPOSITORY` 또는 특정 `--job JOB_ID`를 우선한다. 성공한 작업까지 다시 돌리는 전체 재시도는 필요한 근거가 있을 때만 한다.
- GitHub의 실패 작업 재시도는 그 작업의 준비 단계 전체와 필요한 후속 작업을 다시 실행할 수 있다. 로컬은 테스트 도구의 파일/케이스 필터로 실패 범위를 좁힌다.
- 코드를 수정해 SHA가 바뀌면 과거 SHA의 성공을 새 코드의 검증으로 간주하지 않는다. 수정 영향·의존 범위를 재검증하고 저장소의 필수 병합/릴리스 검증을 충족한다. 같은 SHA에서 이미 성공한 작업은 불필요하게 반복하지 않는다.
- PR의 오래된 실행은 concurrency로 취소하되 배포·릴리스 작업은 임의로 중단하지 않는다. 캐시·빌드 재사용으로 중복 비용을 줄이고 테스트 생략·실패 무시로 비용을 줄이지 않는다.
- 보고에는 검증한 SHA, 실행 명령/작업, 결과, 실행하지 않은 범위와 이유를 남긴다. 테스트 파일 수·커버리지 수치 자체를 목표로 삼지 않는다.
<!-- devslab-testing-policy:end -->
Loading