This commit implements the Cargo.lock policy for reproducible builds across all workspace members (pdftract-core, pdftract-cli, pdftract-py). Changes: - Add CONTRIBUTING.md with lockfile-update workflow documentation - Add .renovaterc.json for weekly lockfile-only PRs (human-gated) - Add crates/pdftract-core/README.md with rationale for checked-in lockfiles - Add notes/pdftract-49f8.md with verification note The Argo workflow updates (pdftract-ci.yaml) are committed separately in the declarative-config repo. Acceptance criteria: - PASS: Cargo.lock tracked by git, not in .gitignore - PASS: Argo workflow templates document --locked/--frozen requirements - WARN: Enforcement to be completed when placeholder templates are implemented - WARN: Binary reproducibility verification deferred to pdftract-build-binaries implementation Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
36 lines
667 B
TOML
36 lines
667 B
TOML
[package]
|
|
name = "pdftract-fuzz"
|
|
version = "0.0.0"
|
|
edition = "2021"
|
|
publish = false
|
|
|
|
[package.metadata]
|
|
cargo-fuzz = true
|
|
|
|
[dependencies]
|
|
pdftract-core = { path = "../crates/pdftract-core" }
|
|
libfuzzer-sys = { version = "0.4", features = ["arbitrary-derive"] }
|
|
|
|
# Prevent this from interfering with the workspace library
|
|
[workspace]
|
|
members = ["."]
|
|
|
|
[[bin]]
|
|
name = "lexer"
|
|
path = "fuzz_targets/lexer.rs"
|
|
|
|
[[bin]]
|
|
name = "object_parser"
|
|
path = "fuzz_targets/object_parser.rs"
|
|
|
|
[[bin]]
|
|
name = "xref"
|
|
path = "fuzz_targets/xref.rs"
|
|
|
|
[[bin]]
|
|
name = "stream_decoder"
|
|
path = "fuzz_targets/stream_decoder.rs"
|
|
|
|
[[bin]]
|
|
name = "cmap_parser"
|
|
path = "fuzz_targets/cmap_parser.rs"
|