[CI] 로컬 빌드 성공 하지만, Github Action 빌드 실패하던 문제
문제 상황
- 로컬에서 모든 작업자가 빌드가 잘 되지만, Github Action에서만 빌드가 실패하는 문제가 발생
- Process completed with exit code 65.
문제 분석
- 에러 파일이 길어서 콘솔에는 나타나지 않아 에러 파일을 다운 받아 분석
- 패키지 의존성에 문제가 있는지 점검
- 테스트 코드 통과하지 못한 영역이 있는지 점검
- 최근 작업한 영역에서 빌드에 영향을 줄 수 있는 부분이 있는지 점검
- 당시 Translation 프레임워크를 도입
- iOS 17, 18에서 지원하는 사용할 수 있는 API 가 다름 (18에서 확장됨)
- Xcode 15와 Xcode 16에 따라 iOS 타겟 범위가 다름 (15는 17버전, 16은 18버전 지원)

문제 해결
- 오픈소스를 보면서 전처리기로 canImport를 자주 보았었는데, 이걸 서비스 레벨에서 사용해 본적은 없었는데, 이번에 사용해보게 되었음.
- 근본적인 원인은 CI 설정에서 Xcode 버전을 15 > 16으로 변경
- 즉, Xcode가 15로 되어있어서 Translation 프레임워크에서 사용된 iOS 18을 지원하는 API 코드가 빌드 자체를 성공할 수가 없음.
소감
- CI는 한번 구축하면 자주 보지 않다 보니까, 문제 해결까지 오랜 시간이 걸렸던 것 같음.
- 같이 봐주신 분이 거의 킥을 제공해주셨는데, 아직도 배울게 많은 것 같다
- iOS 개발자로서 팀원과 팀 리드라는 두 역할에 대해 고민하고 있는데, 특히 리드로서는 개발 환경 전반에서 어떤 병목을 해소해야 팀원들이 본연의 역량에 집중하고 더 나은 퍼포먼스를 낼 수 있을지에 대한 고민이 크다.
- 즉, 환경이나 병목 지점을 잘 풀어주는게 중요한거 같다.
'project > Kuring(공지알림)' 카테고리의 다른 글
| [iOS] 학과 검색 알고리즘 개선 (초성검색) (1) | 2024.03.06 |
|---|---|
| [iOS] Spotlight (SearchAPI) (3) | 2023.10.11 |
| 1.4.0 Release Note (0) | 2023.06.19 |
| Xcode Scheme 분리하기 (3) | 2023.02.03 |
| Swift Package No Such Module (1) | 2022.08.24 |