CI에 Mac Catalyst 빌드 추가 - #18
Merged
Merged
Conversation
iOS가 통과해도 맥은 깨질 수 있다 — 라이브 액티비티(ActivityKit)가 Catalyst에 없어서 조건부 컴파일로 가려뒀는데, 그 조건을 잘못 건드리면 맥에서만 터진다. 지금 CI는 iOS만 돌아서 그걸 못 잡는다. 잡을 나누지 않고 같은 잡의 단계로 뒀다. 잡을 나누면 체크아웃과 패키지 받기를 처음부터 다시 하는데, Firebase SDK 받는 시간이 실행 시간의 절반이고 macOS 러너는 분당 과금이 제일 비싸다. 단계로 두면 캐시된 .spm-cache를 그대로 쓴다. 앱 스킴이 위젯 익스텐션까지 빌드하므로 맥 쪽 위젯도 같이 덮인다. CLAUDE.md의 CI 설명이 "App·MoscoWidget 빌드와 테스트"로 남아 틀리게 되어 같이 고쳤다. 겸사겸사 틀어져 있던 숫자 둘도 맞췄다 — 테스트 108 → 112건, Swift 88파일 → 106파일(App 56 / Shared 32 / Widget 8 / Tests 10). Co-Authored-By: Claude Opus 5 <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.
변경 사항
CI에 Mac Catalyst 빌드를 추가합니다. #17에서 Catalyst를 켰는데 CI는 iOS만 돌아서, 맥이 깨져도 초록이 나오는 상태였습니다. 라이브 액티비티가 조건부 컴파일로 가려져 있어서 그 조건을 잘못 건드리면 맥에서만 터지는데, 지금 그물에는 그게 안 걸립니다.
잡을 나누지 않고 같은 잡의 단계로 뒀습니다. 잡을 나누면 체크아웃과 패키지 받기를 처음부터 다시 합니다 — 이 워크플로 주석에 "Firebase SDK 받는 시간이 실행 시간의 절반"이고 "macOS 러너는 분당 과금이 제일 비싸다"고 적혀 있고, 그 판단을 따랐습니다. 단계로 두면 캐시된
.spm-cache를 그대로 씁니다. 대신 체크 목록에는build-and-test하나로만 보입니다 — 맥 실패를 별도 체크로 구분하고 싶으면 잡으로 쪼개면 되고, 러너 시간이 2~4분 늘어납니다.앱 스킴이 위젯 익스텐션까지 함께 빌드하므로 맥 쪽 위젯도 같이 덮입니다.
CLAUDE.md의 CI 설명이 "App·MoscoWidget 빌드와 테스트"로 남아 틀리게 되어 같이 고쳤습니다. 겸사겸사 틀어져 있던 숫자 둘도 맞췄습니다 — 테스트 108 → 112건,Swift 88파일 ≈ 11,900줄→106파일 ≈ 13,900줄.체크리스트
xcodebuild명령을 로컬에서 그대로 실행해 Catalyst 빌드 통과확인한 것
... → 위젯 빌드 → 앱 빌드 + 테스트 → Mac Catalyst 빌드 → 실패 시 결과 번들 올리기BUILD SUCCEEDEDCLAUDE.md에 적은 숫자는 세어서 넣었습니다 — App 56 / Shared 32 / Widget 8 / Tests 10 = 106확인 안 된 것
macos-26러너에서 Firebase의 Catalyst 슬라이스가 제대로 붙는지는 실제 실행에서만 드러납니다. 로컬(같은 Xcode 메이저)에서는 붙었습니다. 이 PR의 CI가 그 첫 검증이고, 초록이면 그것으로 확인된 것으로 봅니다.위임했으면 쌌을 곳
없었습니다. 워크플로 파일 하나를 읽고 단계 하나를 넣는 일이라 조사할 것이 없었습니다.
관련 이슈
없음 (#17 후속)
🤖 Generated with Claude Code