[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 |
[Kuring] 1.4.0 release 개발일지 (0) | 2023.06.19 |
[iOS] Debug Scheme 분리하기 (3) | 2023.02.03 |
iOS SPM No Such Module (0) | 2022.08.24 |