Skip to content

ci: update sdk_release's driver/mxdriver pointer directly on main push - #25

Merged
jaehyuk-XCENA merged 1 commit into
mainfrom
jaehyuk/ci/direct-update-sdk-release-on-push
Oct 8, 2026
Merged

jaehyuk-XCENA merged 1 commit into
mainfrom
jaehyuk/ci/direct-update-sdk-release-on-push

Conversation

@jaehyuk-XCENA

@jaehyuk-XCENA jaehyuk-XCENA commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

📌 목적

  • mxdriver_dev → mxdriver(public) main 동기화가 PR 없이 직접 push 되는 경로라, 기존 notify_parent.yml(pull_request: closed 전용)이 반응하지 못해 sdk_release의 driver/mxdriver 포인터가 레거시 벌크 cron(sync_main.yml) 하나에만 의존하고 있었다. 그 cron이 조용히 실패하면 포인터가 며칠씩 밀린다.

📝 상세 내용

문제 / 근본 원인

  • mxdriver_dev의 sync_to_public.yml은 리뷰 PR 없이 main에 바로 git push한다.
  • 이 repo의 notify_parent.yml은 pull_request: closed에서만 fire 하므로 그 직접 push를 못 잡는다.
  • 결과적으로 sdk_release 쪽 driver/mxdriver 포인터는 sdk_release의 일일 벌크 cron(sync_main.yml → .github의 sync-submodules.yml) 단 하나의 경로에만 의존했다.
  • 그 cron이 2026-10-05~06 이틀 연속 self-hosted 러너(ci-sync-runner_7)의 PATH/sudo 문제로 "Set Git user" 스텝에서부터 조용히 실패해, mxdriver의 포인터가 그 사이 올라온 upstream 커밋들을 못 따라가다 수동으로 맞춰야 했다.

변경

  • .github/workflows/parent_module_update.yml 추가 — sdk_release의 다른 자식들(mu_debugger, pxl, xif, xpti, xprofiler)이 이미 쓰는 패턴 그대로, main push 시 xcena-dev/.github의 submodule-update.yml을 호출해 sdk_release main의 driver/mxdriver 포인터를 즉시 직접 commit+push 한다.
  • 기존 notify_parent.yml은 그대로 둔다(건드리지 않음).
  • 벌크 cron(sync_main.yml)도 백업으로 그대로 유지한다.

검증

  • xcena-dev/sdk_release의 .gitmodules에서 driver/mxdriver 경로 확인(git@github.com:xcena-dev/mxdriver.git, path driver/mxdriver).
  • 같은 패턴을 쓰는 mu_debugger/sdk_release 자신의 parent_module_update.yml과 구조 동일함을 대조 확인(gh api .../contents/.github/workflows/parent_module_update.yml).
  • 이 PR이 머지돼 실제 push가 발생하기 전까지 워크플로 실행 자체는 미검증.

남은 것 / 리스크

  • update-submodule-runner 풀에서 실제로 성공하는지는 머지 후 다음 push에서 확인 필요.
  • METISX_GIT_ACTION_ACCESS_TOKEN secret이 이 repo(public)에도 유효 범위로 등록돼 있는지 org 시크릿 조회 권한이 없어 직접 확인은 못 함 — 실패 시 1순위 확인 대상.
  • cli / mu_lib(→sdk_release) / mxperfsim_release 세 repo도 같은 구조적 공백이 있음 — 이 PR 범위 밖, 별도 조치 필요.

🔗 관련 이슈(선택)

✅ 검증 기준 (Acceptance Criteria)

  • 검증 환경 : 실장 테스트( ), QEMU 시뮬레이션 테스트( ), 테스트 불가(O)
  • 테스트 자산 : 기존 테스트 활용( ), 본 PR에서 추가( ), 테스트 미보유 — 개발 필요( )
  • 상세 절차 :
  • 테스트 불가 시 — 불가 사유 + 대체 검증 방법 : CI 워크플로 전용 변경으로 제품 산출물(SDK)에 영향 없음 / 대체 검증은 머지 후 다음 main push에서 "Update Parent Repository on Push" 액션이 성공하고 sdk_release main에 해당 커밋이 반영되는지로 확인

🌿 관련 PR(선택)

없음

🌿 상위 Repo(선택)

없음

🌿 관련 Branch(선택)

📦 Release Note (자동 생성용 / 영문 작성)

NEW

CHANGED

FIXED

IMPORTANT NOTES

mxdriver_dev's sync_to_public.yml pushes straight to this repo's main
(not via a reviewed PR), so the existing notify_parent.yml (pull_request:
closed only) never fires for that path. sdk_release's driver/mxdriver
pointer therefore only moved via the daily bulk sync_main.yml cron,
which silently failed for two days in a row (2026-10-05/06) when it
landed on a broken ci-sync-runner_7.

Mirror the direct-update pattern other sdk_release children already use
(mu_debugger, pxl, xif, xpti, xprofiler's parent_module_update.yml) so
every push to main here updates sdk_release's main immediately, on its
own runner pool, independent of the bulk cron.
@jaehyuk-XCENA
jaehyuk-XCENA force-pushed the jaehyuk/ci/direct-update-sdk-release-on-push branch from 951a32e to b754b47 Compare October 8, 2026 04:13
@jaehyuk-XCENA
jaehyuk-XCENA merged commit 47a186f into main Oct 8, 2026
@jaehyuk-XCENA
jaehyuk-XCENA deleted the jaehyuk/ci/direct-update-sdk-release-on-push branch October 8, 2026 04:42
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.

1 participant