Skip to content

feat(ci): reverse submodule sync + trim refresh-data#7

Merged
Seungpyo1007 merged 3 commits into
mainfrom
feat/reverse-submodule-sync
Jun 1, 2026
Merged

feat(ci): reverse submodule sync + trim refresh-data#7
Seungpyo1007 merged 3 commits into
mainfrom
feat/reverse-submodule-sync

Conversation

@Seungpyo1007
Copy link
Copy Markdown
Contributor

1. 역방향 서브모듈 sync — bump-techapi.yml (신규)

TechAPI가 바뀌면 TechEngine의 TechAPI @ <sha> 포인터를 자동으로 최신 main으로 당김. notify-techapi(정방향)의 대칭.

  • 트리거: repository_dispatch: techapi-updated (TechAPI가 보냄) + workflow_dispatch(수동)
  • 동작: payload sha(없으면 remote main HEAD)로 gitlink bump → 커밋 → push. 이미 같으면 no-op.
  • 루프 안전: bump 커밋을 GITHUB_TOKEN으로 push → GITHUB_TOKEN의 push는 다른 워크플로를 트리거하지 않음 → notify-techapi 재발사 없음 → 핑퐁 없음.

2. refresh-data.yml → 덤프 스모크테스트로 축소

주간 cron 제거(weekly-refresh.yml과 중복). push: app/** + 수동만 남겨 '엔진 코드 바뀌면 app.dump가 여전히 생성되나' 가드로 유지.

⚠️ TechAPI 쪽(옆 Claude)에서 필요한 짝

bump-techapi.yml받는 쪽이라, TechAPI가 신호를 보내야 작동합니다:

  • TechAPI에 notify-engine.yml 추가: on: push: branches:[main] 시 GetTechAPI/TechEngine에 repository_dispatch (event-type: techapi-updated, payload {sha}) 발사.
  • 반드시 paths-ignore로 자신의 TechEngine gitlink 변경(=bump-engine 커밋)은 제외 → 루프 차단.
  • 발사 토큰: GetTechAPI/TechEngine에 Contents:write 권한 가진 PAT를 TechAPI 시크릿(예: ENGINE_TOKEN)으로 등록 필요(신규).

Add bump-techapi.yml: on a repository_dispatch (techapi-updated) from TechAPI, advance this repo's TechAPI submodule gitlink to TechAPI's latest main (payload sha, or remote HEAD fallback), commit and push to main. Idempotent no-op when already current; also runnable via workflow_dispatch.

Loop-safe: the bump is pushed with GITHUB_TOKEN, whose pushes do not trigger other workflows, so notify-techapi never fires on it. Mirrors TechAPI's bump-engine.yml; needs TechAPI to add a notify-engine.yml sender (with paths-ignore on its TechEngine gitlink).
Drop the weekly cron from refresh-data.yml (it duplicated weekly-refresh.yml, which now owns the Monday enrich+gate+dump+PR run). Keep the push:app/** + manual triggers so a change to engine code still verifies that app.dump generates end-to-end.
Add paths-ignore: [TechAPI] so commits that only move the TechAPI submodule pointer (bump-techapi.yml's bumps) don't dispatch engine-updated. Symmetric with TechAPI's notify-engine ignoring its TechEngine gitlink, converging each real change to exactly one bump.
@Seungpyo1007 Seungpyo1007 merged commit 7fa1657 into main Jun 1, 2026
1 check passed
@Seungpyo1007 Seungpyo1007 deleted the feat/reverse-submodule-sync branch June 1, 2026 17:58
@Seungpyo1007 Seungpyo1007 restored the feat/reverse-submodule-sync branch June 1, 2026 17:59
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