leerho opened a new pull request, #15:
URL: https://github.com/apache/datasketches-tck/pull/15

   Closes #12.
   
   **Stacked on #13.** Review that one first. This PR's base will switch to 
`main` once #13 merges. It touches the same docs as the #11 PR, and the 
workflow names the snapshot directory, so whichever of the two merges second 
gets a small rebase.
   
   ## CLI
   - `snapshots update <cpp|go|java|all> [revision]`. Without a revision, a 
source updates to its default branch, by fetching the remote's `HEAD`. `all` 
updates every source in one command. Pinning a branch, tag, or commit for a 
single source still works, e.g. for a release.
   - When several sources are processed, one failing source no longer stops the 
rest. Every failure is reported and the command exits non-zero.
   - When a source's commit is unchanged and only probabilistic snapshots 
differ, the files are not rewritten. Without this, each run would rewrite 
~10–25 MB of probabilistic snapshots (mostly the Bloom filter files) in the 
history.
   
   ## Workflow
   `.github/workflows/update-snapshots.yml` is non-required. It runs `snapshots 
update all` every Monday and on manual dispatch, and commits any changed pins 
and snapshots directly to `main`, so `main` always holds the latest snapshots 
from every source. The job summary lists each source's revision change and 
change counts. If a source fails, the others are still committed and the run 
fails, so the broken upstream gets noticed. It uses only actions the repo 
already uses, and it is skipped on forks.
   
   ## Docs
   `docs/serialization-snapshots.md` now presents "latest from every language" 
as the normal workflow. Pins are described as the option for reproducibility, 
and consumers are advised to test against `main` by default.
   
   ## Verification
   - `mise run check`, plus new tests for argument validation and the "not 
written" report.
   - `mise run tck -- snapshots update all` locally:
     - C++ and Java already match their latest commits, so no files were 
rewritten.
     - Go failed, as expected: Go `main` currently can't generate theta and 
tuple snapshots, and a fix is pending in a separate datasketches-go PR. The 
command continued past it and exited 1 naming Go.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to