Repository navigation
feat(cli): add snapshot command for PR preview versions - #1356
Merged
Merged
Conversation
Signed-off-by: Test <test@test.com>
Contributor
There was a problem hiding this comment.
Nothing blocking. The plan reuse through plan_json_at, the semver handling (the leading-zero numeric sha gets a g prefix, build metadata is dropped) and the dirty-tree guard all look right, and the tests cover the important paths. One nit inline, about lockfiles.
Signed-off-by: Test <test@test.com>
Contributor
There was a problem hiding this comment.
The lockfile nit is fixed in 242ffac. refresh_lockfiles is now gated on effective_update_lockfiles, the same way cascade.rs gates it, and the cargo test checks that Cargo.lock carries the snapshot version. Nothing new to flag.
ferrflow Bot
added a commit
that referenced
this pull request
Oct 27, 2026
## [7.35.0] - 2026-10-27 ### Features - feat(cli): add snapshot command for PR preview versions (#1356)
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.
Closes #495
ferrflow snapshot --tag <suffix> [--from-zero] [--no-git] [--run-hooks]stamps every package with pending changes with<next>-<suffix>.<short-sha>(or0.0.0-<suffix>.<short-sha>with--from-zero), writes the versioned files and prints a JSON report for CI. No changelog, commit, tag or push.check --jsonplan (plan_json_at), withrecoverMissedReleasesforced on so a PR whose last commit only touches docs still counts every commit since the last release.--no-gitskips the clean working tree check. HEAD is still read for the sha.--run-hooksfirespre_publishfor every package, thenpost_publish, withFERRFLOW_NEW_VERSIONset to the snapshot version andFERRFLOW_CHANNELto the suffix. Configured publishers are deliberately not run: the npm publisher defaults to--tag=latestand docker expands major/minor tags, so a PR preview could move a stable tag. CI publishes from the JSON instead.gprefix to stay valid semver.--dry-runcomputes and prints without writing.{"tag":"pr-123","commit":"abc1234","dry_run":false,"packages":[{"name":"cli","version":"1.3.0-pr-123.abc1234","previous_version":"1.2.0"}]}Docs:
reference/cli.md(en, fr).