fix(scatterlab-prebuild-android): 빌드에 필요한 CMake·NDK 를 러너에 설치한다 - #10
Merged
Conversation
디스크가 풀린 뒤 Gradle 안까지 처음 들어갔고, 거기서 죽었다
(run 34554813265):
[CXX1300] CMake '3.30.5' was not found in SDK, PATH, or by cmake.dir property.
zeta 앱 빌드는 prebuilt react-android AAR 을 링크할 뿐 ReactCommon 을
컴파일하지 않는다. 그래서 이 러너의 SDK 가 그 CMake 를 들고 있을 이유가 없었다
— 우리가 여기서 RN 의 C++ 를 빌드하는 첫 작업이다.
손으로 깔지 않고 워크플로에서 한다. 라벨 뒤에 머신이 여러 대이고(실행이
`actions-runner-a` 와 `runner-c` 에 각각 붙었다) 손으로 깔면 그때 본 한 대만
고쳐진다. sdkmanager 는 멱등이라 이미 깔린 머신에선 no-op 이다.
sdkmanager 의 종료 코드는 설치를 조용히 건너뛴 경우에도 0 이라, 디렉터리
존재로 실제 설치를 확인한다.
Co-Authored-By: Claude Opus 5 (1M context) <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.
Summary:
러너 디스크가 풀린 뒤 Gradle 안까지 처음 들어갔다 —
yarn install통과, 의존성 해결,downloadDoubleConversion·prepareDoubleConversion까지 진행. 거기서 죽었다 (run 34554813265):zeta 앱 빌드는 prebuilt react-android AAR 을 링크만 하고 ReactCommon 을 컴파일하지 않는다. 그래서 이 러너의 SDK 에 그 CMake 가 있을 이유가 없었다 — 우리가 여기서 RN 의 C++ 를 빌드하는 첫 작업이다.
손으로 깔지 않고 워크플로에서 한다. 실행이
actions-runner-a와runner-c에 각각 붙은 걸로 보아 라벨 뒤에 머신이 여러 대다. 한 대에 깔아두면 다음 실행이 다른 머신에 붙는 순간 같은 실패가 난다.sdkmanager는 멱등이라 이미 깔린 머신에선 no-op 이고, base 를 올려 버전이 바뀔 때도 자동으로 따라간다.두 가지를 방어적으로 처리했다:
sdkmanager경로를cmdline-tools/latest→cmdline-tools/*→tools/bin순으로 찾고, 없으면 명확한 메시지로 중단한다.sdkmanager는 패키지를 조용히 건너뛴 경우에도 종료 코드 0 을 내므로, 그 코드만 믿으면 다음 스텝에서 같은CXX1300을 다시 보게 된다.버전은
packages/react-native/gradle/libs.versions.toml의ndkVersion과ReactAndroid/build.gradle.kts:48의cmakeVersion을 따른다 — 상류가 빌드하는 조합이다.android-prebuilt.md에 base bump 시 함께 맞추라는 규칙을 넣었다.Changelog:
[INTERNAL] [FIXED] - Install the CMake and NDK versions ReactAndroid builds against on the prebuilt runner
Test Plan:
actionlint기존 노이즈 외 새 경고 없음.실환경 진행: 버전 검사 · 소비자 스모크 13/13 · checkout · setup-node/corepack ·
yarn install· Gradle 진입 · 의존성 다운로드까지 통과. 남은 미실증: C++ 컴파일 완주,verify_symbol게이트, 아카이브 패킹, draft 생성·검증·승격.🤖 Generated with Claude Code