Repository navigation
Merge main into v3 (#509) - #510
Merged
Merged
Conversation
…387) Scheduled workflows run main's copy of the file, so this is what makes the nightly fuzz run reach v3. Same files as on v3 (#498): - fuzz.yml: main at 04:00 UTC, v3 at 16:00 UTC (the cron string picks the branch, as in bench.yml); one parallel job per target from the branch's own fuzz/Cargo.toml; corpus restored from and saved to the Actions cache per branch and target; -timeout=60 for hangs. - fuzz-corpus.yml: weekly cargo fuzz cmin per target, committed seed_* files kept, proposed as a pull request from bot/fuzz-corpus-<branch>. Workflow-only; no code or test changes. Refs #387 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012wXxZguv7PgKQjMMH4yJ5h
ci(fuzz): fuzz main and v3 nightly in parallel jobs, keep the corpus (#387)
cargo fuzz cmin names the inputs it keeps by the SHA-1 of their content, so after putting the committed seed_* files back every kept seed was in the corpus twice. The first run proposed 33 such copies and nothing else. Refs #387 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012wXxZguv7PgKQjMMH4yJ5h
ci(fuzz): drop the hashed copy of each seed after cmin (#387, main)
…506) Backport of #508 to v2.x. A file of 1..4095 bytes made FileBackend::open report a new database and write a fresh header over it. It now opens as new only when its bytes are zeros or a prefix of the initial header page; anything else is STG-045 (same number and meaning as on v3), file unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012wXxZguv7PgKQjMMH4yJ5h
fix(storage): refuse a sub-page file that is not a torn first write (#506, v2.x backport)
Brings in the v2.x backport of #506 and the fuzz workflow changes (#500, #503). Conflicts in CHANGELOG, CLAUDE.md, README, ERROR_REFERENCE, TEST_COVERAGE, src/error.rs and src/storage/backend/file.rs resolved to v3, which already fixes #506 with the same STG-045 (#508). main's edge_cases_test regression test is kept, with a second checkpoint so page 0 is no longer the empty generation-1 meta; test counts bumped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012wXxZguv7PgKQjMMH4yJ5h
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merges
mainintov3, bringing in the v2.x backport of #506 (#509) and the fuzz workflow changes (#500, #503).Conflicts
CHANGELOG.md,CLAUDE.md,README.md,docs/ERROR_REFERENCE.md,docs/TEST_COVERAGE.md,src/error.rsandsrc/storage/backend/file.rswere all resolved to the v3 side. v3 already fixes #506 with the sameSTG-045(#508). After resolution, the only change againstv3is main's new test intests/edge_cases_test.rs.Test adaptation
On v8, a database checkpointed only once still has the untouched gen-1 empty meta in page 0. A cut below one page then looks the same as a torn first write and opens as a new database (the limitation noted in #508). The merged test now checkpoints twice before cutting the file. Test counts are bumped by one.
cargo test: 1,373 passed, 9 ignored. Clippy (--all-features -D warnings) is clean.Merge with a merge commit, not squash.
🤖 Generated with Claude Code
https://claude.ai/code/session_012wXxZguv7PgKQjMMH4yJ5h