Skip to content

[#821] GitHub Actions 기반 ThirdParty 의존성 자동 갱신 workflow를 구성한다 - #822

Merged
opficdev merged 12 commits into
developfrom
feat/#821
Aug 20, 2026
Merged

[#821] GitHub Actions 기반 ThirdParty 의존성 자동 갱신 workflow를 구성한다#822
opficdev merged 12 commits into
developfrom
feat/#821

Conversation

@opficdev

Copy link
Copy Markdown
Owner

🔗 연관된 이슈

🎯 의도

  • Libraries/ThirdParty/Project.swift의 직접 선언 의존성에 주간 갱신 흐름을 추가

📝 작업 내용

📌 요약

  • develop 대상 월요일 00:00 KST(cron: "0 15 * * 0") 실행과 workflow_dispatch 지원
  • GoogleSignIn-iOSrevision 방식에서 .exact("9.2.0")으로 전환
  • 후보 탐색, 변경 이력 수집, AI 판정, manifest 반영, PR 본문 섹션 생성을 담당하는 dependency-update.mjs 추가
  • gpt-5.6-lunareasoning.effort: "medium" 기반 OpenAI Responses API 판정 추가
  • chore/dependency-updates 단일 branch·PR 누적 갱신과 dry_run 경로 구성
  • 실제 GitHub Actions workflow_dispatch dry-run 미실행 상태

🔍 상세

  • .github/workflows/dependency-update.yml

    • concurrency로 실행 직렬화
    • contents: write, pull-requests: write 권한으로 제한
    • 열린 자동 갱신 PR은 기존 chore/dependency-updates branch 재사용
    • 병합 확인된 이전 자동 갱신 branch만 삭제 후 다음 주기 branch 생성
    • package resolve, tuist generate --no-open, App build 성공 뒤에만 commit·push·PR 생성 또는 수정
    • dry_run=true에서는 GitHub 쓰기 미수행
    • 기존 PR 본문 보존 후 실행 섹션만 추가
    • 탐색 결과, 변경 이력 판정, Tuist 로그, package resolve 로그, build 로그 artifact 보관
  • .github/scripts/dependency-update.mjs

    • 직접 선언된 .package.exact·.upToNextMinor 요구 조건 파싱
    • 현재 주요 버전 범위 내 최신 정식 버전 후보 계산과 정식 배포 전 태그 제외
    • 변경 이력 또는 OpenAI API 처리 실패 시 manual_review 판정
    • strict JSON Schema로 apply·manual_review·skip 판정 제한
    • OpenAI 원문 오류 응답을 보관하지 않고 PR 본문 추가 섹션 생성
  • .github/scripts/dependency-update.test.mjs

    • package 파싱, 후보 버전 계산, manifest 반영 검증
    • OpenAI 요청 모델·추론 수준·응답 형식 검증
    • API 실패와 변경 이력 조회 실패의 수동 검토 전환 검증
    • PR 본문 실행 섹션 생성 검증
  • Libraries/ThirdParty/Project.swift

    • GoogleSignIn dependency를 .revision("02616ac6b469e8f00212436d2cac16e6efad7954")에서 .exact("9.2.0")으로 전환

검증

  • Node 테스트 7개 통과
  • no-key 수동 검토 경로의 manifest 미변경 확인
  • workflow YAML 형식 검사 통과
  • tuist generate --no-open 통과
  • package resolve와 App build-only 통과
  • 실제 GitHub Actions workflow_dispatch dry-run 미실행 상태

📸 영상 / 이미지 (Optional)

해당 없음

@opficdev opficdev self-assigned this Aug 20, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bcfa4507e8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/scripts/dependency-update.mjs Outdated
Comment thread .github/scripts/dependency-update.mjs
Comment thread .github/workflows/dependency-update.yml Outdated
Comment thread .github/workflows/dependency-update.yml Outdated
Comment thread .github/scripts/dependency-update.mjs
Comment thread .github/workflows/dependency-update.yml
Comment thread .github/workflows/dependency-update.yml
@opficdev
opficdev merged commit e8ce08b into develop Aug 20, 2026
9 checks passed
@opficdev
opficdev deleted the feat/#821 branch August 20, 2026 15:49
@opficdev
opficdev restored the feat/#821 branch August 20, 2026 16:00
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.

GitHub Actions 기반 ThirdParty 의존성 자동 갱신 workflow를 구성한다

1 participant