chore: simplify the release tool
Tagging on the`master` or `patch` branch
This commit is contained in:
parent
0dcd39d491
commit
4023be9bef
1 changed files with 8 additions and 41 deletions
|
@ -140,37 +140,6 @@ resume_config() {
|
||||||
mv _config.yml.bak _config.yml
|
mv _config.yml.bak _config.yml
|
||||||
}
|
}
|
||||||
|
|
||||||
# auto-generate a new version number to the file 'package.json'
|
|
||||||
standard_version() {
|
|
||||||
if $opt_pre; then
|
|
||||||
standard-version --prerelease rc
|
|
||||||
else
|
|
||||||
standard-version
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Prevent changelogs generated on master branch from having duplicate content
|
|
||||||
# (the another bug of `standard-version`)
|
|
||||||
standard_version_plus() {
|
|
||||||
temp_branch="prod-mirror"
|
|
||||||
temp_dir="$(mktemp -d)"
|
|
||||||
|
|
||||||
git checkout -b "$temp_branch" "$PROD_BRANCH"
|
|
||||||
git merge --no-ff --no-edit "$STAGING_BRANCH"
|
|
||||||
|
|
||||||
standard_version
|
|
||||||
|
|
||||||
cp package.json CHANGELOG.md "$temp_dir"
|
|
||||||
|
|
||||||
git checkout "$STAGING_BRANCH"
|
|
||||||
git reset --hard HEAD # undo the changes from $temp_branch
|
|
||||||
mv "$temp_dir"/* . # rewrite the changelog
|
|
||||||
|
|
||||||
# clean up the temp stuff
|
|
||||||
rm -rf "$temp_dir"
|
|
||||||
git branch -D "$temp_branch"
|
|
||||||
}
|
|
||||||
|
|
||||||
# build a gem package
|
# build a gem package
|
||||||
build_gem() {
|
build_gem() {
|
||||||
echo -e "Build the gem package for v$_version\n"
|
echo -e "Build the gem package for v$_version\n"
|
||||||
|
@ -184,13 +153,13 @@ build_gem() {
|
||||||
release() {
|
release() {
|
||||||
_version="$1" # X.Y.Z
|
_version="$1" # X.Y.Z
|
||||||
|
|
||||||
git checkout "$PROD_BRANCH"
|
# Create a new tag on working branch
|
||||||
git merge --no-ff --no-edit "$working_branch"
|
|
||||||
|
|
||||||
# Create a new tag on production branch
|
|
||||||
echo -e "Create tag v$_version\n"
|
echo -e "Create tag v$_version\n"
|
||||||
git tag "v$_version"
|
git tag "v$_version"
|
||||||
|
|
||||||
|
git checkout "$PROD_BRANCH"
|
||||||
|
git merge --no-ff --no-edit "$working_branch"
|
||||||
|
|
||||||
# merge from patch branch to the staging branch
|
# merge from patch branch to the staging branch
|
||||||
# NOTE: This may break due to merge conflicts, so it may need to be resolved manually.
|
# NOTE: This may break due to merge conflicts, so it may need to be resolved manually.
|
||||||
if [[ $working_branch == hotfix/* ]]; then
|
if [[ $working_branch == hotfix/* ]]; then
|
||||||
|
@ -203,15 +172,13 @@ release() {
|
||||||
main() {
|
main() {
|
||||||
check
|
check
|
||||||
|
|
||||||
if [[ "$working_branch" == "$STAGING_BRANCH" ]]; then
|
# auto-generate a new version number to the file 'package.json'
|
||||||
standard_version_plus
|
if $opt_pre; then
|
||||||
|
standard-version --prerelease rc
|
||||||
else
|
else
|
||||||
standard_version
|
standard-version
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Change heading of Patch version to level 2 (a bug from `standard-version`)
|
|
||||||
sed -i "s/^### \[/## \[/g" CHANGELOG.md
|
|
||||||
|
|
||||||
_version="$(grep '"version":' package.json | sed 's/.*: "//;s/".*//')"
|
_version="$(grep '"version":' package.json | sed 's/.*: "//;s/".*//')"
|
||||||
|
|
||||||
echo -e "Bump version number to $_version\n"
|
echo -e "Bump version number to $_version\n"
|
||||||
|
|
Loading…
Reference in a new issue