Repository navigation
ci: 테스트 게이트 추가 + SwiftLint Linux 이전 (무료 플랜 비용 최적화) - #111
Merged
Merged
Conversation
- SwiftLint: macos-15 → ubuntu-latest + 공식 Docker 이미지 (macOS 10배 과금 제거) - test.yml 신규: develop PR + 코드 변경(paths) 시에만 xcodebuild test - main PR 제외(deploy가 빌드), 25분 타임아웃으로 폭주 과금 방어 - SPM(Tuist/.build) + DerivedData 캐시로 증분 재빌드 - deploy.yml의 xcconfig 생성 스텝 재사용 (API_BASE_URL 필수) tuist cache(바이너리 캐시)는 워밍 비용 > 절감이라 무료 hosted 플랜에선 보류. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
Linux 러너 이전 후 표면화된 line_length serious 위반(MockFetchMypageProfileUseCase.swift) 해결. 목/스텁 모듈은 테스트 스캐폴딩이므로 이미 제외된 Tests와 동일하게 처리. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Newdok 스킴에 testAction이 없어 xcodebuild test가 실패(exit 66)했다. tuist test는 모든 모듈의 테스트 타깃을 빌드·실행하고 시뮬레이터도 자동 선택한다. 로컬 tuist test --platform ios 통과 확인. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CI가 여태 테스트를 안 돌려(SwiftLint만) 숨어 있던 결함들: - ProjectHelper: 모든 Testing 타깃에 .shared 추가 (SearchTesting이 Shared 참조하나 미선언 → 빌드 실패) - LoginViewModel: handleLoginError switch에 .tokenPersistenceFailed 처리 추가 (PR #110에서 케이스 추가 후 non-exhaustive 회귀) - MypageTests: StubTokenStorage.saveAccessToken을 -> Bool로 동기화 (PR #110 프로토콜 변경 미반영) 로컬 tuist test --platform ios 전체 통과 확인. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
목적
Private + 무료 플랜(월 ~200 macOS분) 제약 하에서, 테스트 없이 develop에 병합되는 구멍을 최소 비용으로 막는다.
변경
1. SwiftLint → Linux 러너 (
ci.yml)macos-15→ubuntu-latest+ghcr.io/realm/swiftlint:0.62.2컨테이너2. 테스트 게이트 신규 (
test.yml)timeout-minutes: 25— 폭주 과금 방어Tuist/.build(SPM) + DerivedData 캐시 → 증분 재빌드xcodebuild test시뮬레이터 대상, 서명/아카이브 없음(deploy보다 훨씬 쌈)API_BASE_URL없으면APIEnvironmentfatalError)보류 (의도)
tuist cache(모듈 바이너리 캐시)는 워밍 비용 > 절감이라 무료 hosted 플랜에선 제외. self-hosted 러너 또는 Tuist remote 캐시 도입 시 붙일 것.검증
🤖 Generated with Claude Code