Skip to content

[#529] ci에 테스트 코드 검증을 추가한다#530

Merged
opficdev merged 9 commits into
developfrom
ci/#529-test
Jun 3, 2026
Merged

[#529] ci에 테스트 코드 검증을 추가한다#530
opficdev merged 9 commits into
developfrom
ci/#529-test

Conversation

@opficdev
Copy link
Copy Markdown
Owner

@opficdev opficdev commented Jun 3, 2026

🔗 연관된 이슈

🎯 의도

  • testable한 개발을 추구하기 위해 테스트도 ci 단계에 포함

📝 작업 내용

📌 요약

  • build.ymlci.yml로 통합
  • Build, Test (...), Report 형태로 CI job 구성
  • 테스트를 Domain-Data, Persistence-Presentation, WidgetCore 단위로 병렬 실행
  • 테스트 파일이 없는 스킴은 실패가 아닌 pass 처리
  • 빌드/테스트 실패 로그를 artifact로 수집하고 Report job에서 PR 코멘트 작성
  • GitHub Actions Node.js 20 deprecation 대응을 위해 artifact/github-script action 버전 갱신
  • HomeViewModel 생성자 변경에 맞춰 Presentation 테스트 코드 보정

🔍 상세

  • BuildTest를 병렬로 실행하도록 분리
  • Test는 matrix 전략으로 다음 단위 검증
    • Domain-Data: DevLogDomain, DevLogData
    • Persistence-Presentation: DevLogPersistence, DevLogPresentation
    • WidgetCore: DevLogWidgetCore
  • 각 테스트 스킴의 Tests 디렉터리에 Swift 테스트 파일이 없으면 해당 스킴은 skip 처리
  • 테스트 실패 시 summary.txt와 scheme별 로그를 artifact로 업로드
  • 빌드 실패 시 build.log를 artifact로 업로드
  • Report job에서 빌드/테스트 실패 여부를 모아 하나의 PR 코멘트로 작성
  • actions/upload-artifact@v6, actions/download-artifact@v7, actions/github-script@v8 적용

📸 영상 / 이미지 (Optional)

@opficdev opficdev self-assigned this Jun 3, 2026
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

Repository owner deleted a comment from github-actions Bot Jun 3, 2026
Repository owner deleted a comment from github-actions Bot Jun 3, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

❌ iOS CI tests failed.

Failed schemes:

  • DevLogPresentation (ios-test-Persistence-Presentation)
cd /Users/runner/work/SwiftUI_DevLog/SwiftUI_DevLog/Application/DevLogPresentation
/Users/runner/work/SwiftUI_DevLog/SwiftUI_DevLog/Application/DevLogPresentation/Tests/WebPage/DeleteWebPageTests.swift:43:32: error: extra argument 'upsertTodoUseCase' in call
upsertTodoUseCase: upsertTodoUseCaseSpy,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
/Users/runner/work/SwiftUI_DevLog/SwiftUI_DevLog/Application/DevLogPresentation/Tests/WebPage/DeleteWebPageTests.swift:50:29: error: cannot infer contextual base in reference to member 'fetchData'
homeViewModel.send(.fetchData)
~^~~~~~~~~
/Users/runner/work/SwiftUI_DevLog/SwiftUI_DevLog/Application/DevLogPresentation/Tests/WebPage/DeleteWebPageTests.swift:57:29: error: cannot infer contextual base in reference to member 'deleteWebPage'
homeViewModel.send(.deleteWebPage(webPageItem))
~^~~~~~~~~~~~~
/Users/runner/work/SwiftUI_DevLog/SwiftUI_DevLog/Application/DevLogPresentation/Tests/WebPage/DeleteWebPageTests.swift:55:27: warning: no calls to throwing functions occur within 'try' expression
let webPageItem = try #require(homeViewModel.state.webPages.first)
^
/Users/runner/work/SwiftUI_DevLog/SwiftUI_DevLog/Application/DevLogPresentation/Tests/WebPage/DeleteWebPageTests.swift:97:32: error: extra argument 'upsertTodoUseCase' in call
/Users/runner/work/SwiftUI_DevLog/SwiftUI_DevLog/Application/DevLogPresentation/Tests/WebPage/DeleteWebPageTests.swift:104:29: error: cannot infer contextual base in reference to member 'fetchData'
/Users/runner/work/SwiftUI_DevLog/SwiftUI_DevLog/Application/DevLogPresentation/Tests/WebPage/DeleteWebPageTests.swift:111:29: error: cannot infer contextual base in reference to member 'deleteWebPage'
/Users/runner/work/SwiftUI_DevLog/SwiftUI_DevLog/Application/DevLogPresentation/Tests/WebPage/DeleteWebPageTests.swift:112:29: error: cannot infer contextual base in reference to member 'undoDeleteWebPage'
homeViewModel.send(.undoDeleteWebPage)
~^~~~~~~~~~~~~~~~~

Check the uploaded test log artifacts for full diagnostics.

@opficdev opficdev merged commit d3197b6 into develop Jun 3, 2026
5 checks passed
@opficdev opficdev deleted the ci/#529-test branch June 3, 2026 14:58
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.

ci에 테스트 코드 검증을 추가한다

1 participant