You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
1.8 KiB

#!/bin/bash
9 years ago
set -e
if [[ -z $1 ]]; then
echo "Enter new version: "
read -r VERSION
else
VERSION=$1
fi
read -p "Releasing $VERSION - are you sure? (y/n) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
9 years ago
echo "Releasing $VERSION ..."
if [[ -z $SKIP_TESTS ]]; then
npm run lint
npm run flow
npm run test:cover
npm run test:e2e -- --env phantomjs
npm run test:ssr
fi
# Sauce Labs tests has a decent chance of failing
# so we usually manually run them before running the release script.
# if [[ -z $SKIP_SAUCE ]]; then
# export SAUCE_BUILD_ID=$VERSION:`date +"%s"`
# npm run test:sauce
# fi
9 years ago
# build
VERSION=$VERSION npm run build
# update packages
# using subshells to avoid having to cd back
( ( cd packages/vue-template-compiler
npm version "$VERSION"
if [[ -z $RELEASE_TAG ]]; then
npm publish
else
npm publish --tag "$RELEASE_TAG"
fi
)
9 years ago
cd packages/vue-server-renderer
npm version "$VERSION"
if [[ -z $RELEASE_TAG ]]; then
npm publish
else
npm publish --tag "$RELEASE_TAG"
fi
)
9 years ago
# commit
git add -A
git add -f \
dist/*.js \
packages/vue-server-renderer/basic.js \
packages/vue-server-renderer/build.dev.js \
packages/vue-server-renderer/build.prod.js \
packages/vue-server-renderer/server-plugin.js \
packages/vue-server-renderer/client-plugin.js \
packages/vue-template-compiler/build.js \
packages/vue-template-compiler/browser.js
git commit -m "build: build $VERSION"
# generate release note
npm run release:note
# tag version
npm version "$VERSION" --message "build: release $VERSION"
9 years ago
# publish
git push origin refs/tags/v"$VERSION"
9 years ago
git push
if [[ -z $RELEASE_TAG ]]; then
npm publish
else
npm publish --tag "$RELEASE_TAG"
fi
9 years ago
fi