Skip to content

[#258] 런타임에 필요한 파일들이 리포에 올라오지 않아 CD 후 크래시가 나는 이슈를 해결한다#262

Merged
opficdev merged 4 commits intodevelopfrom
fix/#258-runtime
Mar 12, 2026
Merged

[#258] 런타임에 필요한 파일들이 리포에 올라오지 않아 CD 후 크래시가 나는 이슈를 해결한다#262
opficdev merged 4 commits intodevelopfrom
fix/#258-runtime

Conversation

@opficdev
Copy link
Copy Markdown
Owner

@opficdev opficdev self-assigned this Mar 12, 2026
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 풀 리퀘스트는 지속적인 배포(CD) 중에 필요한 런타임 설정 파일이 누락되어 애플리케이션 충돌을 일으키는 중요한 문제를 해결합니다. 새로운 GitHub 액션을 사용하여 이러한 비공개 설정 파일을 안전하게 가져오는 강력한 메커니즘을 도입합니다. 또한, Fastlane 빌드 프로세스를 개선하여 IPA 파일을 올바르게 찾도록 하고, .gitignore를 업데이트하여 저장소 관리를 향상시킵니다. 이러한 변경 사항들은 CI/CD 파이프라인의 안정성과 신뢰성을 전반적으로 강화합니다.

Highlights

  • 개인 설정 파일 설치 액션: 비공개 저장소에서 민감한 설정 파일(Config.xcconfig, GoogleService-Info.plist)을 안전하게 가져와 설치하는 새로운 GitHub 액션이 도입되었습니다. 이는 CI/CD 환경에서 이러한 파일이 필요하지만 공개적으로 커밋되어서는 안 되는 경우에 중요합니다.
  • Fastlane IPA 경로 수정: upload_testflight_build Fastlane 레인이 Fastlane의 lane_context에서 IPA 출력 경로를 올바르게 가져오도록 업데이트되어, 일관성을 보장하고 하드코딩된 경로로 인한 잠재적 문제를 방지합니다.
  • Git Ignore 업데이트: .gitignore 파일이 .bundle/ 디렉토리를 무시하도록 업데이트되어, Bundler에 의해 설치된 RubyGems가 포함된 불필요한 파일이 커밋되는 것을 방지합니다.
Changelog
  • .github/actions/install-private-config/action.yml
    • 비공개 설정 파일을 가져오기 위한 새로운 GitHub 액션을 추가했습니다.
  • .gitignore
    • .bundle/를 무시 목록에 추가했습니다.
  • fastlane/Fastfile
    • upload_testflight_build 레인을 업데이트하여 IPA 출력 경로에 lane_context를 사용하도록 했습니다.
Ignored Files
  • Ignored by pattern: .github/workflows/** (3)
    • .github/workflows/build.yml
    • .github/workflows/release.yml
    • .github/workflows/testflight.yml
Activity
  • 이 풀 리퀘스트에 대한 활동은 제공되지 않았습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

런타임에 필요한 파일이 없어 발생하는 크래시를 해결하기 위한 PR이네요. private repository에서 설정 파일을 가져오기 위한 새로운 GitHub Action을 추가하셨습니다. .gitignore와 Fastfile 변경 사항은 적절해 보입니다. 새로 추가된 GitHub Action의 견고성을 높이기 위해 임시 파일 정리 로직을 개선하는 제안을 리뷰 코멘트로 남겼습니다.

run: |
set -euo pipefail

privateConfigCheckoutPath="$RUNNER_TEMP/private-config"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

스크립트가 중간에 실패할 경우 임시 디렉터리가 정리되지 않고 남을 수 있습니다. trap을 사용하여 스크립트가 어떤 이유로든 종료될 때 항상 임시 디렉터리가 삭제되도록 하는 것이 더 안전하고 견고합니다.

        privateConfigCheckoutPath="$RUNNER_TEMP/private-config"
        trap 'rm -rf "$privateConfigCheckoutPath"' EXIT

Comment on lines +63 to +65
- name: Clean private config checkout
shell: bash
run: rm -rf "$RUNNER_TEMP/private-config"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

이전 스텝에서 trap을 사용하여 임시 파일 정리를 하도록 수정하면 이 스텝은 더 이상 필요하지 않습니다. Install private config files 스텝이 실패할 경우 이 스텝은 실행되지 않으므로, trap을 사용하는 것이 더 견고한 방법입니다. 이 스텝은 제거하는 것을 권장합니다.

@opficdev opficdev merged commit 7955722 into develop Mar 12, 2026
2 checks passed
@opficdev opficdev deleted the fix/#258-runtime branch March 12, 2026 01:43
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.

런타임에 필요한 파일들이 리포에 올라오지 않아 CD 후 크래시가 나는 이슈를 해결한다

1 participant