Skip to content

[v3-2-test] Add tests for git bundle force-push resilience, error recovery, etc. (#65750)#65854

Draft
github-actions[bot] wants to merge 1 commit intov3-2-testfrom
backport-19ae9ee-v3-2-test
Draft

[v3-2-test] Add tests for git bundle force-push resilience, error recovery, etc. (#65750)#65854
github-actions[bot] wants to merge 1 commit intov3-2-testfrom
backport-19ae9ee-v3-2-test

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

Expand GitDagBundle test coverage with 12 new tests addressing gaps
identified during investigation of repeated recloning after tag force-push.

Force-push resilience:

  • Branch force-pushed to unrelated commit follows the new ref
  • Tag force-pushed to unrelated commit follows the new ref
  • Tag moved forward then backward across multiple refreshes
  • Refresh after force-push never triggers Repo.clone_from
  • Repeated refreshes after force-push remain stable
  • Re-initialization reuses existing repos (no reclone)

Error handling:

  • Upstream tag deletion does not break refresh (local copy persists)
  • Failed bare-repo fetch preserves previous working tree
  • Refresh on versioned bundle raises AirflowException
  • Corrupted working repo triggers cleanup and retry

Edge cases:

  • Real submodule fixture with ref change and submodule sync
  • Ambiguous ref (branch+tag same name) documents branch preference
    (cherry picked from commit 19ae9ee)

Co-authored-by: Dev-iL 6509619+Dev-iL@users.noreply.github.com

…overy, etc. (#65750)

Expand GitDagBundle test coverage with 12 new tests addressing gaps
identified during investigation of repeated recloning after tag force-push.

Force-push resilience:
- Branch force-pushed to unrelated commit follows the new ref
- Tag force-pushed to unrelated commit follows the new ref
- Tag moved forward then backward across multiple refreshes
- Refresh after force-push never triggers Repo.clone_from
- Repeated refreshes after force-push remain stable
- Re-initialization reuses existing repos (no reclone)

Error handling:
- Upstream tag deletion does not break refresh (local copy persists)
- Failed bare-repo fetch preserves previous working tree
- Refresh on versioned bundle raises AirflowException
- Corrupted working repo triggers cleanup and retry

Edge cases:
- Real submodule fixture with ref change and submodule sync
- Ambiguous ref (branch+tag same name) documents branch preference
(cherry picked from commit 19ae9ee)

Co-authored-by: Dev-iL <6509619+Dev-iL@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant