release.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. set -e
  2. if [[ -z $1 ]]; then
  3. echo "Enter new version: "
  4. read VERSION
  5. else
  6. VERSION=$1
  7. fi
  8. read -p "Releasing $VERSION - are you sure? (y/n) " -n 1 -r
  9. echo
  10. if [[ $REPLY =~ ^[Yy]$ ]]; then
  11. echo "Releasing $VERSION ..."
  12. if [[ -z $SKIP_TESTS ]]; then
  13. npm run lint
  14. npm run flow
  15. npm run test:cover
  16. npm run test:e2e
  17. npm run test:ssr
  18. fi
  19. # Sauce Labs tests has a decent chance of failing
  20. # so we usually manually run them before running the release script.
  21. # if [[ -z $SKIP_SAUCE ]]; then
  22. # export SAUCE_BUILD_ID=$VERSION:`date +"%s"`
  23. # npm run test:sauce
  24. # fi
  25. # build
  26. VERSION=$VERSION npm run build
  27. # update packages
  28. cd packages/vue-template-compiler
  29. npm version $VERSION
  30. if [[ -z $RELEASE_TAG ]]; then
  31. npm publish
  32. else
  33. npm publish --tag $RELEASE_TAG
  34. fi
  35. cd -
  36. cd packages/vue-server-renderer
  37. npm version $VERSION
  38. if [[ -z $RELEASE_TAG ]]; then
  39. npm publish
  40. else
  41. npm publish --tag $RELEASE_TAG
  42. fi
  43. cd -
  44. # commit
  45. git add -A
  46. git add -f \
  47. dist/*.js \
  48. packages/vue-server-renderer/basic.js \
  49. packages/vue-server-renderer/build.js \
  50. packages/vue-server-renderer/server-plugin.js \
  51. packages/vue-server-renderer/client-plugin.js \
  52. packages/vue-template-compiler/build.js
  53. git commit -m "build: build $VERSION"
  54. # generate release note
  55. npm run release:note
  56. # tag version
  57. npm version $VERSION --message "build: release $VERSION"
  58. # publish
  59. git push origin refs/tags/v$VERSION
  60. git push
  61. if [[ -z $RELEASE_TAG ]]; then
  62. npm publish
  63. else
  64. npm publish --tag $RELEASE_TAG
  65. fi
  66. fi