feat(publish): Add option --no-git-reset
to leave unstaged changes in working tree
#1791
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.
Description
Adds a flag which allows the user to specify whether or not the working tree should be reset or not. Defaults to true so the tree is always reset.
Motivation and Context
When used in CI (specifically for my staging builds), I want lerna to be able to publish canary versions of my packages which can then be consumed in a subsequent docker build step. Right now, once the package versions are bumped, the working tree is then reset meaning that the docker build of the package which depends on the bumped package, refers to the original package version.
Relates to this comment #962 (comment) in #962.
How Has This Been Tested?
Added a unit test to ensure that when
--no-git-reset
is specified,gitCheckout
isn't called.Added an integration test to ensure that when
--no-git-reset
is specified, the working tree is left dirty.Types of changes
Checklist:
One test was already failing on my machine:
isAnythingCommitted without and with a commit