Skip to content

feat[back-compat]: Add a script to upload fixtures to a repo#6993

Merged
joseph-isaacs merged 9 commits intodevelopfrom
ji/add-backcompa-cli
Mar 18, 2026
Merged

feat[back-compat]: Add a script to upload fixtures to a repo#6993
joseph-isaacs merged 9 commits intodevelopfrom
ji/add-backcompa-cli

Conversation

@joseph-isaacs
Copy link
Contributor

@joseph-isaacs joseph-isaacs commented Mar 17, 2026

This is the final PR in initial creation of the back-compat testing rfc:

This PR updates the docs.
Add a script to upload, list and validate changes.

joseph-isaacs added a commit that referenced this pull request Mar 17, 2026
Add extract fixtures to the backtesting system.

There is another PR that will change the way we actually write the file
to a store [see #6993]. Focus
only on the generated files and the data from each fixture.

---------

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Replaces the simple upload.py with a comprehensive Python CLI that
manages fixture versions in S3 or local stores. Simplifies the Rust
binary to a thin generate/check tool while Python handles versioning,
manifest management, SHA-256 integrity, and parallel S3 uploads.

Key changes:
- Rust: single vortex-compat binary (generate + check), computes sha256
  per fixture in fixtures.json, simplified fixture traits
- Python: compat.py with generate, publish (--update for incremental),
  check, list, verify, and validate-manifest commands
- Removed since field from manifests; sha256 computed by Rust
- Parallel uploads via ThreadPoolExecutor
- Interactive confirmation prompt with --yes bypass

Signed-off-by: Joe Isaacs <joe@spiraldb.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@codspeed-hq
Copy link

codspeed-hq bot commented Mar 17, 2026

Merging this PR will not alter performance

✅ 1009 untouched benchmarks
⏩ 1515 skipped benchmarks1


Comparing ji/add-backcompa-cli (6bf2dfa) with develop (12fe78e)

Open in CodSpeed

Footnotes

  1. 1515 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@joseph-isaacs joseph-isaacs changed the title Ji/add backcompa cli feat[back-compat]: Add a script to upload fixtures to a repo Mar 18, 2026
@joseph-isaacs joseph-isaacs marked this pull request as ready for review March 18, 2026 10:43
list, binary, extension), degenerate cases (empty files, all-null, float
specials), partial reads / mmap.

**Dependency drift:** If a dependency like `tpchgen` silently changes output
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we pin tpchgen with a big comment then on an exact commit or version?

Copy link
Contributor

Choose a reason for hiding this comment

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

tpchgen = { version = "=2.0.2" }
tpchgen-arrow = { version = "=2.0.2" }

};

// Compare arrays.
assert_arrays_eq!(stored_array, fresh_array);
Copy link
Contributor

Choose a reason for hiding this comment

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

If this fails this will prevent JSON output. Is it intended to fully exit the check?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ill come back to this if it becomes a problem

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@joseph-isaacs joseph-isaacs added the changelog/feature A new feature label Mar 18, 2026
@joseph-isaacs joseph-isaacs enabled auto-merge (squash) March 18, 2026 12:14
@joseph-isaacs joseph-isaacs disabled auto-merge March 18, 2026 12:14
@joseph-isaacs joseph-isaacs enabled auto-merge (squash) March 18, 2026 12:14
@joseph-isaacs joseph-isaacs merged commit c63a800 into develop Mar 18, 2026
59 of 60 checks passed
@joseph-isaacs joseph-isaacs deleted the ji/add-backcompa-cli branch March 18, 2026 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/feature A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants