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]