59 lines
1.5 KiB
YAML
59 lines
1.5 KiB
YAML
name: Flutter 테스트
|
|
|
|
on:
|
|
push:
|
|
branches: [ main, develop ]
|
|
pull_request:
|
|
branches: [ main, develop ]
|
|
workflow_dispatch: # 수동 실행 옵션
|
|
|
|
jobs:
|
|
test:
|
|
name: 테스트 실행
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 15 # CI 전체 타임아웃 설정
|
|
|
|
steps:
|
|
- name: 코드 체크아웃
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Flutter 설정
|
|
uses: subosito/flutter-action@v2
|
|
with:
|
|
flutter-version: '3.10.0'
|
|
channel: 'stable'
|
|
cache: true
|
|
|
|
- name: 의존성 설치
|
|
run: flutter pub get
|
|
|
|
- name: 테스트 디렉토리 생성
|
|
run: mkdir -p test_diagnostics
|
|
|
|
- name: 테스트 실행 권한 설정
|
|
run: |
|
|
chmod +x ./scripts/run_tests.sh
|
|
chmod +x ./scripts/reproduce_test.sh
|
|
|
|
- name: Flutter 테스트 실행
|
|
run: ./scripts/run_tests.sh ci --verbose
|
|
env:
|
|
FLUTTER_TEST_IS_CI: true
|
|
|
|
- name: 테스트 진단 정보 수집
|
|
if: failure()
|
|
run: |
|
|
echo "테스트 실패 - 진단 정보 수집 중..."
|
|
ls -la test_diagnostics/
|
|
cat test_diagnostics/*.log || echo "로그 파일 없음"
|
|
cat test_diagnostics/*.txt || echo "분석 파일 없음"
|
|
|
|
- name: 테스트 진단 정보 업로드
|
|
if: always()
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: test-diagnostics
|
|
path: test_diagnostics/
|
|
retention-days: 7
|
|
if-no-files-found: ignore
|