From 6ac93e0bd27e7eec28d3c93f4693839d056ef937 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Fri, 18 Nov 2016 09:21:52 +0800 Subject: [PATCH] Fix release script --- build/git-release.sh | 19 +++++++++++++++++++ build/release.sh | 12 ++++++------ package.json | 2 +- 3 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 build/git-release.sh diff --git a/build/git-release.sh b/build/git-release.sh new file mode 100644 index 000000000..2795b7a60 --- /dev/null +++ b/build/git-release.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env sh +git checkout dev + +if test -n "$(git status --porcelain)"; then + echo 'Unclean working tree. Commit or stash changes first.' >&2; + exit 128; +fi + +if ! git fetch --quiet 2>/dev/null; then + echo 'There was a problem fetching your branch. Run `git fetch` to see more...' >&2; + exit 128; +fi + +if test "0" != "$(git rev-list --count --left-only @'{u}'...HEAD)"; then + echo 'Remote history differ. Please pull changes.' >&2; + exit 128; +fi + +echo 'No conflicts.' >&2; diff --git a/build/release.sh b/build/release.sh index bfd1fb61c..93ba423b0 100644 --- a/build/release.sh +++ b/build/release.sh @@ -1,8 +1,4 @@ -git checkout dev -git pull eleme dev --rebase -git checkout master -git merge dev - +#!/usr/bin/env sh set -e echo "Enter release version: " read VERSION @@ -29,7 +25,11 @@ then npm version $VERSION --message "[release] $VERSION" # publish - git push eleme refs/tags/v$VERSION + git push eleme dev + git checkout master + git merge dev git push eleme master + git push eleme refs/tags/v$VERSION + npm publish fi diff --git a/package.json b/package.json index 0b9e15c23..b91149c71 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "dist:all": "node build/bin/build-all.js && npm run build:theme", "i18n": "node build/bin/i18n.js", "lint": "eslint src/**/* test/**/* packages/**/*.{js,vue} build/**/* --quiet", - "pub": "sh build/release.sh", + "pub": "sh build/git-release.sh && sh build/release.sh", "pub:all": "npm run dist:all && lerna publish", "test": "npm run lint && CI_ENV=/dev/ karma start test/unit/karma.conf.js --single-run", "test:watch": "karma start test/unit/karma.conf.js"