[GMSS-199] 온디바이스 모델 공급 전략 firebase→internal 배선 정리 - #38
Merged
Conversation
- Play Asset Delivery(AssetPackManager)는 Play Store를 거치지 않는 설치 경로에서 동작하지 않아 debug/firebase buildType에서 감정분석·요약 모델이 사실상 작동 불능이었음 - ModelAssetSource 추상화를 도입해 release는 기존 PAD(OnDemandModelAssets)를, debug/firebase는 APK에 번들된 assets(LocalAssetsModelSource, PAD 도입 전 방식 복원)를 쓰도록 buildType 소스셋으로 분리 - app의 internal buildType을 firebase로 rename, Firebase 배포 결과물을 AAB에서 plain APK로 전환 - Play Console 자동 배포(upload_to_play_store)는 서비스 계정 secret이 아직 없어 비활성화 - 서명된 release AAB를 CI 아티팩트로만 만들어 수동 배포하도록 CD를 job 단위로 분리 - androidTest 2건을 LocalAssetsModelSource로 실기기에서 직접 검증되도록 정리 (bundletool --local-testing 불필요해짐), 발견한 잠재 버그 수정 (KDoc 내 "/*" 중첩 주석으로 인한 KSP 컴파일 실패, runBlocking 식 본문의 Int 반환 추론으로 인한 JUnit "should be void" 오류)
# Conflicts: # app/build.gradle.kts # data/src/androidTest/kotlin/com/gamss/android/data/emotion/EmotionOnDeviceEvalTest.kt # data/src/androidTest/kotlin/com/gamss/android/data/summary/SummaryOnDeviceEvalTest.kt # data/src/main/java/com/gamss/android/data/emotion/WordPieceTokenizer.kt # data/src/main/java/com/gamss/android/data/summary/KobartTokenizer.kt
- WordPieceTokenizer/KobartTokenizer가 develop 머지 충돌 해결 과정에서 Context+ OnDemandModelAssets 직접 호출로 되돌아가 컴파일이 깨져 있던 것을 ModelAssetSource 받도록 복구 - app/build.gradle.kts의 buildType이 firebase→internal로 되돌아갔던 것 재적용 (noCompress 포함) - app 모듈로 옮겨진 OnDeviceModelEvalTest가 AndroidEmotionClassifier/ AndroidDiarySummarizer를 Context로 직접 생성하던 것을 LocalAssetsModelSource로 수정 (LocalAssetsModelSource internal→public, app 모듈에서 접근 가능하도록) - cd.yml: workflow_dispatch에 deploy_firebase 입력 추가. push(develop)는 항상 Firebase 배포하되, 수동 실행일 때만 배포 여부를 선택할 수 있게 함 — release AAB만 다시 뽑아 확인하고 싶을 때 테스터 알림 없이 돌리기 위함 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
soyeonLee126
requested changes
Aug 16, 2026
soyeonLee126
approved these changes
Aug 17, 2026
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.
작업 개요
develop 머지 과정에서
firebasebuildType이internal로 되돌아가며 깨졌던 온디바이스 모델(감정분석·요약) 공급 배선을 복구한 뒤(2c2e36d), 남아있던firebase네이밍을internal로 전부 통일해 배선이 다시 끊기지 않게 정리했다.작업 유형
변경 사항
app/build.gradle.kts에서 앞서internal로 리네임된 buildType에 맞춰data/build.gradle.kts의 buildType/sourceSet,data/src/firebase→data/src/internal(FirebaseModelAssetSourceModule→InternalModelAssetSourceModule) 이동fastlane/Fastfile(assembleFirebase→assembleInternal, 산출물 경로apk/firebase→apk/internal),.github/workflows/cd.yml,.github/workflows/ci.yml(build 매트릭스 태스크·업로드 아티팩트 경로에 남아있던firebase참조)까지 명칭 일치 — CI가 존재하지 않는 Gradle 태스크(assembleFirebase)를 찾다 실패하는 상태였음models/emotion-pack,models/summary-pack의 buildType 관련 주석 갱신LocalAssetsModelSourceKDoc을 서사형 설명 대신 정책·제약 위주로 축약(d892561컨벤션)관련 이슈
관련 작업 (Notion)
스크린샷 / 동작 화면
체크리스트
develop으로 설정되어 있다./gradlew detekt lint test assembleRelease assembleInternal assembleDebug로컬 실행, 전부 성공)feat:,fix:등)을 따른다리뷰 요청 사항
app의internalbuildType이data의internalvariant로 정상 매칭되는지(더 이상release로 fallback되지 않는지)를data/build.gradle.kts의 buildType/sourceSet 이름 위주로 봐주세요.fastlane/Fastfile·ci.yml의 태스크명/아티팩트 경로 변경이 실제 Firebase 배포 파이프라인과 어긋나지 않는지 확인 부탁드립니다.