konva/release.sh

91 lines
2.2 KiB
Bash
Raw Normal View History

2016-01-16 19:41:02 +08:00
#!/usr/bin/env bash
set -e
old_version="$(git describe --abbrev=0 --tags)"
new_version=$1
2016-01-17 22:33:13 +08:00
2018-10-11 02:34:18 +08:00
old_cdn="https://unpkg.com/konva@${old_version}/konva.js"
new_cdn="https://unpkg.com/konva@${new_version}/konva.js"
old_cdn_min="https://unpkg.com/konva@${old_version}/konva.min.js"
new_cdn_min="https://unpkg.com/konva@${old_version}/konva.min.js"
2016-01-16 19:41:02 +08:00
# make sure new version parameter is passed
if [ -z "$1" ]
then
echo "ERROR - pass new version. usage release.sh 0.11.0"
exit 2
fi
# make sure changle log updated
while true; do
read -p "Did you update CHANGELOG.md? " yn
case $yn in
[Yy]* ) break;;
[Nn]* ) exit;;
* ) echo "Please answer yes or no.";;
esac
done
2017-10-08 18:18:57 +08:00
echo "Pulling"
2019-02-27 22:34:29 +08:00
git pull >/dev/null
2017-10-08 18:18:57 +08:00
2019-02-27 22:34:29 +08:00
echo "Lint, build and test"
npm run lint >/dev/null
npm run build >/dev/null
2016-01-16 19:41:02 +08:00
echo "commit change log updates"
2019-02-27 22:34:29 +08:00
git commit -am "update CHANGELOG with new version" --allow-empty >/dev/null
2016-01-16 19:41:02 +08:00
echo "npm version $1 --no-git-tag-version"
2019-02-27 22:34:29 +08:00
npm version $1 --no-git-tag-version --allow-same-version >/dev/null
2016-01-16 19:41:02 +08:00
echo "build for $1"
2019-02-27 22:34:29 +08:00
npm run build >/dev/null
git commit -am "build for $1" --allow-empty >/dev/null
2016-01-16 19:41:02 +08:00
2016-01-17 22:33:13 +08:00
echo "update CDN link in REAME"
2019-02-27 22:34:29 +08:00
perl -i -pe "s|${old_cdn_min}|${new_cdn_min}|g" ./README.md >/dev/null
git commit -am "update cdn link" --allow-empty >/dev/null
echo "create new git tag"
git tag $1 >/dev/null
2016-01-17 22:33:13 +08:00
2018-06-15 14:19:22 +08:00
echo "generate documentation"
2019-02-27 22:34:29 +08:00
npm start api >/dev/null
2018-06-15 14:19:22 +08:00
2016-01-16 19:41:02 +08:00
echo "archive documentation"
2019-02-27 22:34:29 +08:00
zip -r konva-v${new_version}-documentation.zip ./api/* >/dev/null
rm -r ./api >/dev/null
2016-01-16 19:41:02 +08:00
echo "documentation is generated"
echo "include konva-v${new_version}-documentation.zip into version in github"
2018-08-30 20:24:45 +08:00
cd ../konva
2019-02-27 22:34:29 +08:00
git push >/dev/null
git push --tags >/dev/null
2018-08-30 20:24:45 +08:00
npm publish
2016-01-16 19:41:02 +08:00
echo "copy konva.js into konva-site"
cp ./konva.js ../konva-site/
cd ../konva-site
echo "replace CDN links"
2016-01-17 22:33:13 +08:00
2019-02-27 22:34:29 +08:00
find source themes -exec perl -i -pe "s|${old_cdn}|${new_cdn}|g" {} + >/dev/null
find source themes -exec perl -i -pe "s|${old_cdn_min}|${new_cdn_min}|g" {} + >/dev/null
2016-01-17 22:33:13 +08:00
2016-01-16 19:41:02 +08:00
echo "regenerate site"
2019-02-27 22:34:29 +08:00
./deploy.sh >/dev/null
2016-01-16 19:41:02 +08:00
echo "DONE!"
echo "-------"
echo "Now you need:"
echo "create new relese in github and attach documentation https://github.com/konvajs/konva/releases"
echo "update CDN link to ${new_cdn} at http://codepen.io/lavrton/pen/myBPGo"