fix(release): untrack fuzz crash artifacts already gitignored#148
Conversation
47 files under zstd/fuzz/artifacts/{decode,fse,huff0,interop}/crash-* are
tracked in the index AND match the zstd/fuzz/artifacts/** rule added to
.gitignore in 4d98ff9. release-plz refuses to proceed with such files:
failed to determine next versions
the working directory of this project has uncommitted changes. If these
files are both committed and in .gitignore, either delete them or remove
them from .gitignore.
git rm --cached keeps the files on disk for local fuzzing reproducers
(zstd/fuzz/artifacts/ stays populated; only the index entries go away).
Closes #147
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (47)
📝 WalkthroughWalkthroughThis PR removes 4 fuzzing crash artifact files from the git index to resolve a release-plz failure. Files in Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Pull request overview
This PR untracks 47 fuzz crash artifact files under zstd/fuzz/artifacts/{decode,fse,huff0,interop}/ that were already matched by the zstd/fuzz/artifacts/** .gitignore rule. The conflict between tracked-and-ignored files was causing release-plz to abort on main. Files remain on disk for local fuzzing; only the index entries are removed.
Changes:
git rm --cachedof 47 fuzz crash reproducer files to align the index with.gitignore.- No code, build, or test changes.
Reviewed changes
Copilot reviewed 4 out of 47 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| zstd/fuzz/artifacts/decode/crash-* | Removed from index; remain on disk locally |
| zstd/fuzz/artifacts/fse/crash-* | Removed from index; remain on disk locally |
| zstd/fuzz/artifacts/huff0/crash-* | Removed from index; remain on disk locally |
| zstd/fuzz/artifacts/interop/crash-* | Removed from index; remain on disk locally |
) After PR #148 untracked zstd/fuzz/artifacts/** via `git rm --cached`, `git pull` deletes those files from every checkout. test_all_artifacts was reading `./fuzz/artifacts/decode` with `unwrap()` on the read_dir result and now panics on fresh checkouts / CI workers with no local `cargo fuzz run` history. Treat NotFound as a no-op: the corpus is locally produced or generated by CI fuzz runs and intentionally not tracked. The other regression test in this file pins the literal 7-byte interop crash as bytes inline, so the regression contract for known-bad inputs holds even when the on-disk corpus is empty. Closes #150
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'structured-zstd vs C FFI (x86_64-gnu)'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.30.
| Benchmark suite | Current: 8fec737 | Previous: 1e0f695 | Ratio |
|---|---|---|---|
compress/level_22_btultra2/low-entropy-1m/matrix/pure_rust |
1.881 ms |
1.293 ms |
1.45 |
compress/level_22_btultra2/low-entropy-1m/matrix/c_ffi |
1.809 ms |
1.184 ms |
1.53 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @polaz
… shards finish (#153) The bench-matrix runs seven strategy shards per target. The heaviest shards exceed the previous per-target caps on every main push: * lazy shard runs 11 levels (5..15) sequentially through one bench binary invocation. On any target this takes 25-30+ minutes, hitting the cap before the benchmark frame even starts on the last level. * fast shard runs 8 levels (-7..-1, 1). On i686-gnu (32-bit, ~30% slower) this consistently exceeds the previous 30m cap. * btultra2 shard runs 3 expensive levels (20..22). On i686-gnu the matcher passes alone push it past 30m. When a single shard hits its job timeout the whole CI run is marked failed, so benchmark-aggregate and benchmark-pages never run and the dashboard at https://structured-world.github.io/structured-zstd/dev/bench/ gets no new data point for that commit. This affected every main push today (#148, #151, #138 → v0.0.21 release). Bump per-target timeout_minutes: x86_64-gnu 25 -> 45, i686-gnu 30 -> 60, x86_64-musl 25 -> 45. The 32-bit target gets a higher absolute cap because its bench loop is consistently ~30% slower. Closes #152
Summary
release-plzfails onmainwith:47 files under
zstd/fuzz/artifacts/{decode,fse,huff0,interop}/crash-*are tracked in the index AND match thezstd/fuzz/artifacts/**rule added to.gitignorein 4d98ff9. That rule was added in the prior session without a companiongit rm --cached— release-plz then refuses to compute the next version because of the ignored-but-tracked conflict.Fix
git rm --cachedon the 47 entries. Files stay on disk (local fuzzing reproducers undercargo fuzz runkeep working) — only the index entries are dropped, so the repo state now agrees with the.gitignorerule.Test plan
git ls-files -ci --exclude-standardcheckls zstd/fuzz/artifacts/decode/on disk still shows the crash corpora locallyCloses #147
Refs failing run: https://github.com/structured-world/structured-zstd/actions/runs/25992361787/job/76400718142
Summary by CodeRabbit