project/Kuring(공지알림)
[CI] 로컬 빌드 성공 하지만, Github Action 빌드 실패하던 문제
lgvv
2024. 10. 8. 20:00
[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 개발자로서 팀원과 팀 리드의 페르소나에 대해서 고민하고 있는데, 리드로서는 개발 환경적인 즉, 어떤 부분의 문제를 해결해줘야 다른 사람들이 더 나은 퍼포먼스를 발휘하게 할 수 있을지 많이 고민하게 되는 것 같음.