Repository navigation
fix(release): stable LLVM source digest - #66
Conversation
Linux dry run 37619817358 failed on the canonical LLVM archive: same size, different hash. LLVM marks clang/bindings/python/.git_archival.txt export-subst, so codeload writes its own git describe output into it on each regeneration. That metadata file is now dropped during canonicalization and the archive is repinned. The collect test also matches #51, which keeps unpinned build logs out of the source archive. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Fixes CNV-45 — LLVM `export-subst` archival file dropped during canonicalization + lock repinned. Ready for Build release linux redispatch. |
|
| def dropped(member): | ||
| return member.name.split('/', 1)[-1] in drop_members |
There was a problem hiding this comment.
drop_members has no regression test. The changed test covers build logs, not the archive filter that fixes the LLVM digest. A later change could bring back digest failures without a test catching it.
Add small archive fixtures with different .git_archival.txt contents and identical source files. Check that both canonicalize modes produce identical bytes after dropping the metadata, retain other files, and keep all files when drop_members is empty. This is non-blocking. Confidence in this suggestion: 5/5.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Summary
Linux dry run 37619817358 failed early:
Downloaded SHA-256 mismatch: pdfium-source/llvm-project-20e97c4b….tar.gz. The canonicalized archive had the locked size but a different hash. LLVM's.gitattributesmarksclang/bindings/python/.git_archival.txtasexport-subst, so codeload writesgit describeoutput (llvmorg-24-init-3796-g20e97c4b113b7today) into it each time it regenerates the archive. Canonicalization now drops listeddrop_members, and the LLVM entry is repinned (sha256, size, member count 198274).The native source tool test now expects unpinned build logs to stay out of the archive, matching #51.
Evidence
69241005…, 276067967 bytes, 198274 members.python3 -m unittest test_native_source_tools: 23 tests OK.Merge Danger
Door: two-way.
Blast radius: PDFium source verification on Linux and macOS builds.
🤖 Generated with Claude Code