GitHub Actions macos-14가 갑자기 실패한다면: 종료 일정과 이전 방법
코드도 워크플로도 바꾸지 않았는데 macos-14 빌드가 특정 시간대에만 실패한다. 11월 2일 종료 전에 어느 러너로 어떻게 옮겨야 할까?

- macos-14·macos-14-large·macos-14-xlarge는 2026년 11월 2일 종료된다.
- 한국 시간 10월 26일 23시부터 다음 날 9시까지 예정된 실행 중단이 있다.
- 새 레이블을 고를 때 arm64·Intel과 설치된 Xcode를 확인하고 빌드를 다시 검증해야 한다.
macOS 14 작업이라면 예정된 중단 시간부터 대조한다
코드를 바꾸지 않았는데 macOS 빌드가 실패했다면 실행 레이블과 실패 시간을 함께 확인할 필요가 있다. GitHub의 종료 공지는 11월 2일 이미지 제거를 알리기 위해 특정 시간대에 macOS 14 작업을 의도적으로 실패시킨다고 명시한다. 이를 브라운아웃이라고 부른다.
대상은 macos-14, macos-14-large, macos-14-xlarge다. 공지상 10월 26일 이후 남은 일정은 다음과 같다. 모든 CI 오류가 이 중단 때문인 것은 아니므로, 다른 레이블이나 다른 시간의 실패는 해당 작업 로그에서 원인을 찾아야 한다.
| 공식 일정 UTC | 한국 시간 KST |
|---|---|
| 10월 26일 14:00~27일 00:00 | 10월 26일 23:00~27일 09:00 |
| 10월 29일 14:00~30일 00:00 | 10월 29일 23:00~30일 09:00 |
| 10월 30일 14:00~31일 00:00 | 10월 30일 23:00~31일 09:00 |
종료 전에는 러너 공급량이 줄어 대기 시간이 길어질 수도 있다. 중단 시간이 지나기를 기다리는 것으로 11월 2일 이후의 실행 환경이 마련되지는 않는다.
일반·xlarge는 arm64, large는 Intel이다
공식 러너 이미지 표에서 현재 macos-latest는 macOS 26 arm64다. 기존 macOS 14 중 일반·xlarge는 arm64지만 large는 Intel이므로, 뒤에 붙은 이름까지 보고 이전 대상을 고른다.
| 현재 작업 | 이전 후보 | 확인할 점 |
|---|---|---|
| macos-14, arm64 | macos-15 또는 macos-26 | 필요한 빌드 도구와 SDK가 설치돼 있는지 확인한다. |
| macos-14-xlarge, arm64 | macos-15-xlarge 또는 macos-26-xlarge | 대형 러너의 사용 조건과 설치된 도구를 확인한다. |
| macos-14-large, Intel | macos-15-large 또는 macos-26-large | Intel 환경을 계속 쓸지 결정한다. |
각 후보에서 필요한 도구를 쓸 수 있는지 확인한 뒤 이전한다. 일반 Intel 러너가 필요하면 공식 표의 macos-15-intel·macos-26-intel도 검토할 수 있다. large를 일반 러너로 바꾸는 선택은 머신 사양도 달라진다.
runs-on뿐 아니라 matrix와 호출한 워크플로도 찾는다
GitHub Actions는 runs-on으로 실행 머신을 고른다. 값에는 문자열뿐 아니라 변수가 들어갈 수 있다. 저장소에서 레이블을 찾는 첫 점검 명령은 다음처럼 쓸 수 있다.
rg -n 'macos-14' .github 검색된 위치가 runs-on인지 matrix 값인지 살피고, 재사용 워크플로를 호출한다면 그 파일의 선택 조건도 따라간다. 예를 들어 arm64 macOS 15가 필요한 작업은 runs-on: macos-15로 지정할 수 있다. 출력이 없더라도 외부에서 호출하는 워크플로의 내부 설정까지 확인됐다는 뜻은 아니다.
OS를 고른 뒤 실제 Xcode를 확인한다
새 러너가 실행됐다고 도구 구성이 같아진 것은 아니다. 10월 26일 기준 macOS 15 arm64 이미지는 Xcode 16.4를 기본으로, macOS 26 arm64 이미지는 Xcode 26.6을 기본으로 표시한다. 기존 스크립트가 고정된 Xcode 경로를 쓰는지도 살펴야 한다.
이전한 작업의 진단 단계에서 다음 값을 기록하면 실제 CPU·OS·Xcode를 비교하기 쉽다.
uname -m
sw_vers
xcodebuild -version 그 환경에서 의존성 설치, 빌드, 테스트를 다시 실행하고 배포할 산출물도 확인한다. 러너 이전의 완료 기준은 레이블 변경 자체가 아니라, 새 환경에서 필요한 결과물을 만들고 검증할 수 있는지다.