Fix GitDagBundle submodule clone not using SSH settings from connection#64879
Fix GitDagBundle submodule clone not using SSH settings from connection#64879shunsuke-sugita wants to merge 25 commits intoapache:mainfrom
Conversation
|
Congratulations on your first Pull Request and welcome to the Apache Airflow community! If you have any issues or are unsure about any anything please check our Contributors' Guide (https://github.com/apache/airflow/blob/main/contributing-docs/README.rst)
|
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Updates GitDagBundle submodule operations to inherit SSH configuration from the Git connection by running git submodule sync/update under GitPython’s custom_environment (using the worktree Repo).
Changes:
- Wraps submodule sync/update calls with
GIT_SSH_COMMAND(when present inhook.env). - Introduces a no-op context (
nullcontext) when no SSH env override is needed.
|
Hi @kaxil , sorry to bother you while you’re busy — just a gentle reminder on this PR. |
|
@kaxil Thanks for the review. I’ve pushed updates addressing your feedback—please take another look when you have a moment. |
|
@shunsuke-sugita Converting to draft — this PR doesn't yet meet our Pull Request quality criteria.
See the linked criteria for how to fix each item, then mark the PR "Ready for review". This is not a rejection — just an invitation to bring the PR up to standard. No rush. Note: This comment was drafted by an AI-assisted triage tool and may contain mistakes. Once you have addressed the points above, an Apache Airflow maintainer — a real person — will take the next look at your PR. We use this two-stage triage process so that our maintainers' limited time is spent where it matters most: the conversation with you. |
|
Quick follow-up to the triage comment above — one clarification on the "Unresolved review comments" item: Once you believe a thread has been addressed — whether by pushing a fix, or by replying in-thread with an explanation of why the suggestion doesn't apply — please mark the thread as resolved yourself by clicking the "Resolve conversation" button at the bottom of each thread. Reviewers don't auto-close their own threads, so an addressed-but-unresolved thread reads as "still waiting on the author" and keeps the PR from moving forward. The author doing the resolve-click is the expected convention on this project. Note: This comment was drafted by an AI-assisted triage tool and may contain mistakes. Once you have addressed the points above, an Apache Airflow maintainer — a real person — will take the next look at your PR. We use this two-stage triage process so that our maintainers' limited time is spent where it matters most: the conversation with you. |
|
Thank you for contacting us. |
What
GitDagBundlenow wrapsgit submodule sync/submodule updatewithGIT_SSH_COMMANDfrom the Git connection (via GitPythoncustom_environment), using the worktreeRepo(self.repo.git), not the bare mirror.Why
configure_hook_env()populateshook.env, and bare clone passes it withclone_from(..., env=...). Submodule commands are separate Git subprocesses and did not receiveGIT_SSH_COMMAND, so SSH URLs in.gitmodulescould fail (host key / identity) even when the main repo clone worked.Example failure (before this fix)
Submodule update could fail with errors such as:
Notes
_fetch_bare_repofororigin.fetchon the bare repo.submodules=True; no behavior change to other bundle modes.Was generative AI tooling used to co-author this PR?
{pr_number}.significant.rst, in airflow-core/newsfragments. You can add this file in a follow-up commit after the PR is created so you know the PR number.