이 프로젝트는 simple_workflows를 이용해서 GitHub Actions 워크플로우를 테스트하기 위한 프로젝트입니다.
.
├── simple_workflows/ # 워크플로우 템플릿 모음
│ ├── frontend/ # Frontend CI 워크플로우
│ ├── backend/ # Backend CI 워크플로우
│ └── common/ # 공통 워크플로우
├── TESTING_GUIDE.md # 상세 테스트 가이드
├── test-workflows.sh # 테스트 스크립트
└── README.md # 이 파일
./test-workflows.sh이 스크립트는:
- 워크플로우 파일을
.github/workflows/에 복사 - YAML 문법 검증
- 테스트용 파일 생성 (선택사항)
# 워크플로우 디렉토리 생성
mkdir -p .github/workflows
# 필요한 워크플로우 복사
cp simple_workflows/frontend/*.yaml .github/workflows/
cp simple_workflows/backend/*.yaml .github/workflows/
cp simple_workflows/common/*.yaml .github/workflows/
# Dependabot 설정 (주의: workflows 폴더가 아닌 .github/ 루트에!)
cp simple_workflows/common/dependabot.yaml .github/dependabot.ymlgit add .github/
git commit -m "test: add workflows"
git push
# 테스트 브랜치 생성
git checkout -b test/workflow-test
# 파일 수정 후 커밋 & 푸시
git push origin test/workflow-test
# GitHub에서 PR 생성-
TESTING_GUIDE.md: 상세한 테스트 가이드
- 로컬 테스트 방법 (act 사용)
- 실제 GitHub에서 테스트하는 방법
- 워크플로우별 테스트 시나리오
- 문제 해결 가이드
-
simple_workflows/README.md: 워크플로우 상세 설명
-
simple_workflows/QUICKSTART.md: 빠른 시작 가이드
# act 설치
brew install act
# 워크플로우 목록 확인
act -l
# 특정 워크플로우 실행
act -W .github/workflows/frontend-lint.yaml- 워크플로우 파일을
.github/workflows/에 복사 - 테스트 브랜치 생성 및 파일 수정
- PR 생성하여 워크플로우 실행 확인
자세한 내용은 TESTING_GUIDE.md를 참고하세요.
frontend/lint.yaml- ESLint + TypeScript 타입 체크frontend/test.yaml- Vitest 단위 테스트frontend/build.yaml- 빌드 검증frontend/format.yaml- Prettier 포맷 체크
backend/lint.yaml- Pylintbackend/test.yaml- Pytestbackend/format.yaml- Black 포맷 체크
common/pr-check.yaml- PR 품질 검증common/dependency-check.yaml- 보안 취약점 스캔common/auto-merge-dependabot.yaml- Dependabot PR 자동 병합common/dependabot.yaml- Dependabot 설정
-
점진적 테스트: 한 번에 모든 워크플로우를 테스트하지 말고, 하나씩 테스트하세요.
-
Path Filter 확인: 각 워크플로우는 특정 파일 변경 시에만 실행됩니다. 어떤 파일을 수정해야 하는지 확인하세요.
-
로컬 먼저 확인: GitHub에 푸시하기 전에 로컬에서 명령어를 직접 실행해보세요.
-
Draft PR 활용: 작업 중에는 Draft PR을 사용하여 불필요한 워크플로우 실행을 방지하세요.
문제가 발생하면 TESTING_GUIDE.md의 "문제 해결" 섹션을 참고하세요.
Happy Testing! 🚀