Skip to content

Fix private Git workspace materialization fallback - #8131

Merged
chubes4 merged 1 commit into
mainfrom
fix/8122-private-git-bundle-materialization
Jul 14, 2026
Merged

Fix private Git workspace materialization fallback#8131
chubes4 merged 1 commit into
mainfrom
fix/8122-private-git-bundle-materialization

Conversation

@chubes4

@chubes4 chubes4 commented Jul 14, 2026

Copy link
Copy Markdown
Member

Summary

  • Attempt runner-side Git materialization first, then transfer a controller-created bundle only after authentication or network failures.
  • Verify the bundle SHA-256 on Lab before checkout, restore only a sanitized origin URL without fetching it, and record controller_git_bundle source SHA, refs, digest, controller cleanup owner, and immediate cleanup TTL.
  • Reject credential-bearing HTTP(S) origin URLs before any runner handoff.

Closes #8122

How to test

  1. Run CARGO_TARGET_DIR=/Users/chubes/Developer/homeboy@fix-8054-mixed-lease-orphan-recovery/target cargo test controller_routed_git_sync_materializes_private_unavailable_remote_with_changed_since_base --lib.
  2. Confirm the inaccessible origin falls back to a controller bundle, Lab has the exact recorded HEAD and sanitized origin, and one tracked-file change is the only patch.
  3. Run CARGO_TARGET_DIR=/Users/chubes/Developer/homeboy@fix-8054-mixed-lease-orphan-recovery/target cargo test rejects_credential_bearing_https_remote_without_echoing_the_secret --lib.
  4. Run CARGO_TARGET_DIR=/Users/chubes/Developer/homeboy@fix-8054-mixed-lease-orphan-recovery/target cargo test git_bundle_materialization_rejects_digest_mismatch --lib.

AI assistance

  • AI assistance: Yes
  • Tool(s): OpenCode / openai-gpt-5.6-sol
  • Used for: Implemented the generic Git-bundle fallback, tests, verification, and PR draft with Chris's requested requirements.

@chubes4
chubes4 merged commit 67aced4 into main Jul 14, 2026
1 of 3 checks passed
@chubes4
chubes4 deleted the fix/8122-private-git-bundle-materialization branch July 14, 2026 14:53
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.

Materialize private Git retry baselines through controller bundles

1 participant