Skip to content

[GMSS-199] 온디바이스 모델 공급 전략 firebase→internal 배선 정리 - #38

Merged
soyeonLee126 merged 8 commits into
developfrom
hotfix/fix_delivery_api
Aug 17, 2026
Merged

[GMSS-199] 온디바이스 모델 공급 전략 firebase→internal 배선 정리#38
soyeonLee126 merged 8 commits into
developfrom
hotfix/fix_delivery_api

Conversation

@seunghee17

@seunghee17 seunghee17 commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

작업 개요

develop 머지 과정에서 firebase buildType이 internal로 되돌아가며 깨졌던 온디바이스 모델(감정분석·요약) 공급 배선을 복구한 뒤(2c2e36d), 남아있던 firebase 네이밍을 internal로 전부 통일해 배선이 다시 끊기지 않게 정리했다.

작업 유형

  • fix: 버그 수정
  • feat: 새 기능
  • refactor: 리팩토링 (동작 변경 없음)
  • build: 빌드/의존성 설정
  • chore: 기타 (문서, 설정 등)
  • test: 테스트 추가/수정

변경 사항

  • app/build.gradle.kts에서 앞서 internal로 리네임된 buildType에 맞춰 data/build.gradle.kts의 buildType/sourceSet, data/src/firebasedata/src/internal(FirebaseModelAssetSourceModuleInternalModelAssetSourceModule) 이동
  • fastlane/Fastfile(assembleFirebaseassembleInternal, 산출물 경로 apk/firebaseapk/internal), .github/workflows/cd.yml, .github/workflows/ci.yml(build 매트릭스 태스크·업로드 아티팩트 경로에 남아있던 firebase 참조)까지 명칭 일치 — CI가 존재하지 않는 Gradle 태스크(assembleFirebase)를 찾다 실패하는 상태였음
  • models/emotion-pack, models/summary-pack의 buildType 관련 주석 갱신
  • LocalAssetsModelSource KDoc을 서사형 설명 대신 정책·제약 위주로 축약(d892561 컨벤션)

관련 이슈

  • 없음

관련 작업 (Notion)

스크린샷 / 동작 화면

  • UI 변경 없음 (buildType 네이밍·CI/CD 설정·주석 정리)

체크리스트

  • base 브랜치가 develop으로 설정되어 있다
  • 로컬 빌드 및 실행을 확인했다 (./gradlew detekt lint test assembleRelease assembleInternal assembleDebug 로컬 실행, 전부 성공)
  • 커밋 메시지가 컨벤션(feat:, fix: 등)을 따른다
  • 불필요한 로그/주석/디버그 코드를 제거했다
  • 리뷰어가 이해할 수 있도록 설명을 작성했다

리뷰 요청 사항

  • appinternal buildType이 datainternal variant로 정상 매칭되는지(더 이상 release로 fallback되지 않는지)를 data/build.gradle.kts의 buildType/sourceSet 이름 위주로 봐주세요.
  • fastlane/Fastfile·ci.yml의 태스크명/아티팩트 경로 변경이 실제 Firebase 배포 파이프라인과 어긋나지 않는지 확인 부탁드립니다.

seunghee17 and others added 6 commits August 14, 2026 13:37
- 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>
@seunghee17 seunghee17 changed the title hotfix: 온디바이스 모델 공급 전략 firebase→internal 배선 정리 [GMSS-199] 온디바이스 모델 공급 전략 firebase→internal 배선 정리 Aug 14, 2026
Comment thread app/build.gradle.kts Outdated
Comment thread app/build.gradle.kts
@soyeonLee126
soyeonLee126 merged commit 74038f7 into develop Aug 17, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants