Skip to content

fix(release): stable LLVM source digest - #66

Merged
leoisadev1 merged 1 commit into
mainfrom
leoplayz317/pdfium-llvm-retry
Oct 7, 2026
Merged

leoisadev1 merged 1 commit into
mainfrom
leoplayz317/pdfium-llvm-retry

Conversation

@leoisadev1

@leoisadev1 leoisadev1 commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

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 .gitattributes marks clang/bindings/python/.git_archival.txt as export-subst, so codeload writes git describe output (llvmorg-24-init-3796-g20e97c4b113b7 today) into it each time it regenerates the archive. Canonicalization now drops listed drop_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

  • Fresh codeload download, canonicalized here: 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


Devin Review

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>
@leoisadev1
leoisadev1 merged commit e37711c into main Oct 7, 2026
@leoisadev1
leoisadev1 deleted the leoplayz317/pdfium-llvm-retry branch October 7, 2026 12:31
@leoisadev1

Copy link
Copy Markdown
Member Author

Fixes CNV-45 — LLVM `export-subst` archival file dropped during canonicalization + lock repinned. Ready for Build release linux redispatch.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

@greptile-apps

greptile-apps Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

[Medium risk] Adjusts source archive canonicalization to exclude generated metadata.

The PR appears safe to merge, with a non-blocking request for archive-filter tests.

Fix All in Claude CodeFindings

  1. P2 Archive filtering lacks tests ▶

Summary

This PR makes the LLVM source archive stable by excluding changing .git_archival.txt metadata.

  • Updates the locked LLVM digest, size, and member count.
  • Aligns the build-log test with the collector's existing behavior.
  • Adds no confirmed behavior or security defect; archive-filter tests are a non-blocking improvement.
  • Tests and the downloaded archive digest were not independently run or checked.

Reviews (1) · Last reviewed commit: "Drop LLVM's export-subst archive file be..." · Reviewed by Greptile

Comment on lines +54 to +55
def dropped(member):
return member.name.split('/', 1)[-1] in drop_members

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Archive filtering lacks tests

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!

Fix in Claude Code

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.

1 participant