Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
6c733ae
feat: LFS object caching with OID-keyed S3 storage and proxy-through-…
devin-ai-integration[bot] Jun 20, 2026
8fbb180
style: rustfmt single-field struct init
devin-ai-integration[bot] Jun 20, 2026
40801d6
fix: address Devin Review findings for LFS handlers
devin-ai-integration[bot] Jun 20, 2026
5c05cf8
fix: prevent pipe-buffer deadlock in LFS smoke tests and improve test…
devin-ai-integration[bot] Jun 21, 2026
c7922fc
fix: derive LFS download URLs from request Host header, not bind_addr
devin-ai-integration[bot] Jun 21, 2026
77fea36
fix: add GIT_CACHE_LFS_ENABLED to ECS task definition
devin-ai-integration[bot] Jun 21, 2026
be79bf6
fix: stream LFS download body with bounded byte counter
devin-ai-integration[bot] Jun 21, 2026
82d011d
style: rustfmt
devin-ai-integration[bot] Jun 21, 2026
9aa387c
fix: add public_path_prefix config for LFS download URLs behind ALB p…
devin-ai-integration[bot] Jun 21, 2026
c4d6aa4
stream LFS objects through ObjectStore instead of buffering in memory
devin-ai-integration[bot] Jun 21, 2026
023a8c7
fix: exclude batch path from LfsDownload routing, use multipart for u…
devin-ai-integration[bot] Jun 21, 2026
011d3bd
fix: return 404 error in batch response when upstream has no download…
devin-ai-integration[bot] Jun 21, 2026
6024033
feat: remove LFS feature flag — LFS caching always enabled
devin-ai-integration[bot] Jun 21, 2026
ce307db
fix: return 502 error in batch response when cache-fill fails
devin-ai-integration[bot] Jun 21, 2026
7675e88
fix: propagate put_stream errors and bound upstream batch response size
devin-ai-integration[bot] Jun 21, 2026
aae3a74
feat: extend AWS dev matrix with LFS cache tests
devin-ai-integration[bot] Jun 21, 2026
bc23739
fix: iterate client-requested objects in LFS batch handler
devin-ai-integration[bot] Jun 21, 2026
7b5d697
refactor: LFS batch operation enum, path constants, upstream helper
devin-ai-integration[bot] Jun 22, 2026
a6dbad4
fix: return actual stored size from fetch_and_cache_lfs_object, gate …
devin-ai-integration[bot] Jun 22, 2026
0948257
style: rustfmt
devin-ai-integration[bot] Jun 22, 2026
2423a6b
fix: bound upstream batch response read and LFS download outbound str…
devin-ai-integration[bot] Jun 22, 2026
a941564
fix: pre-filter invalid OIDs before upstream batch, cap Content-Lengt…
devin-ai-integration[bot] Jun 22, 2026
867f202
fix: skip upstream batch call when all objects fail pre-validation
devin-ai-integration[bot] Jun 22, 2026
b9a3afe
fix: early return for all-invalid batch to satisfy clippy unused_assi…
devin-ai-integration[bot] Jun 22, 2026
bd2990d
fix: forward LFS download action headers to upstream object fetch
devin-ai-integration[bot] Jun 22, 2026
5e15c6b
fix: preserve request order in LFS batch response
devin-ai-integration[bot] Jun 22, 2026
b0d22b0
test: add SixLabors/ImageSharp to LFS test matrix, warm multi-object …
devin-ai-integration[bot] Jun 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion crates/git-cache-api/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,11 @@ git-cache-core = { path = "../git-cache-core" }
git-cache-disk = { path = "../git-cache-disk" }
git-cache-domain = { path = "../git-cache-domain" }
git-cache-git = { path = "../git-cache-git" }
git-cache-objectstore = { path = "../git-cache-objectstore" }
http.workspace = true
reqwest.workspace = true
serde.workspace = true
serde_json.workspace = true
sha2.workspace = true
tokio.workspace = true
tokio-util.workspace = true
Expand All @@ -30,5 +32,4 @@ default = []
s3 = ["git-cache-domain/s3"]

[dev-dependencies]
serde_json.workspace = true
tempfile.workspace = true
Loading
Loading