Conversation
- `cut -d '=' -f2`가 base64 패딩의 `=`를 구분자로 인식하여 키 데이터가 잘리는 문제 수정 → `sed` 사용 - fastlane 실행 시 IPA_PATH가 상대경로로 전달되어 경로를 찾지 못하는 문제 수정 → 절대경로 사용 - env 서브모듈 최신화 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Fixes production .env.prod parsing for base64-padded values and ensures Fastlane receives an absolute IPA path so iOS deploy targets can locate the built artifact reliably.
Changes:
- Replace
cut -d '=' -f2withsedfor base64-like env values to avoid truncating=padding. - Pass
IPA_PATHas an absolute path when invoking Fastlane fromios/. - Update the
git.environment-variablessubmodule commit.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| git.environment-variables | Bumps env submodule to a newer commit. |
| Makefile | Fixes .env.prod parsing for base64 values and makes IPA path absolute for Fastlane runs. |
Makefile
Outdated
| export ASC_KEY_CONTENT=$$(grep '^ASC_KEY_BASE64=' .env.prod | cut -d '=' -f2 | base64 --decode); \ | ||
| export IPA_PATH=$$(ls build/ios/ipa/*.ipa 2>/dev/null | head -1); \ | ||
| export ASC_KEY_CONTENT=$$(grep '^ASC_KEY_BASE64=' .env.prod | sed 's/^ASC_KEY_BASE64=//' | base64 --decode); \ | ||
| export IPA_PATH=$$(pwd)/$$(ls build/ios/ipa/*.ipa 2>/dev/null | head -1); \ |
There was a problem hiding this comment.
ls ... | head -1 can produce an empty string when no IPA exists; with the current concatenation this sets IPA_PATH to a directory path like /abs/repo/, which can lead Fastlane to fail in a confusing way or read the wrong path. Consider capturing the IPA path first, erroring out if empty, and only then prefixing with the absolute path (apply the same guard to the deploy-ios-appstore target as well).
There was a problem hiding this comment.
✅ Resolved in dbf6c0e
변경 내용:
- IPA 파일 경로를 먼저 변수에 캡처 후, 빈 문자열이면 에러 메시지와 함께 exit
deploy-ios-testflight,deploy-ios-appstore양쪽 모두 동일하게 적용
Makefile
Outdated
| @export ASC_KEY_ID=$$(grep '^ASC_KEY_ID=' .env.prod | cut -d '=' -f2); \ | ||
| export ASC_ISSUER_ID=$$(grep '^ASC_ISSUER_ID=' .env.prod | cut -d '=' -f2); \ |
There was a problem hiding this comment.
_load-asc-env was updated to use sed to avoid =-related truncation, but these exports still use cut. Even if these fields usually don't contain =, the mixed parsing approaches increase the chance of future regressions. Suggest standardizing on the same parsing approach (e.g., sed 's/^...=//') across all ASC env reads so the logic is consistent.
There was a problem hiding this comment.
✅ Resolved in dbf6c0e
변경 내용:
deploy-ios-testflight,deploy-ios-appstore의ASC_KEY_ID,ASC_ISSUER_ID파싱을cut -d '=' -f2에서sed로 통일_load-asc-env,deploy-ios-testflight,deploy-ios-appstore3곳 모두 동일한 파싱 방식 사용
- IPA 경로 빈 문자열 가드 추가 (testflight, appstore 모두) - ASC_KEY_ID, ASC_ISSUER_ID 파싱도 sed로 통일 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
cut -d '=' -f2로.env.prod값을 파싱할 때 base64 패딩=가 구분자로 잘려나가 ASC API 키가 손상되는 버그 수정 →sed사용IPA_PATH가 상대경로로 전달되어ios/디렉토리 기준에서 파일을 찾지 못하는 버그 수정 →$(pwd)/절대경로 사용Test plan
make deploy-iosTestFlight 업로드 성공 확인 완료🤖 Generated with Claude Code