| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #!/bin/bash
- # TODO all steps will be executed even if some steps will fail
- if [ -z $1 ]; then
- echo "Provide a new version as a first argument"
- exit 1
- fi
- VERSION=$1
- COMPANY="humansignal"
- REPO="datamanager"
- # Colors for colored output
- GREEN='\033[0;32m'
- NC='\033[0m' # No Color
- # Just to be sure
- git checkout master
- git pull
- # Create new build
- rm -rf build
- yarn build:module
- rm build/.gitignore
- # Replace links to published files in README to the actual one
- # `ls -tU` sorts files by creation date (recent is first)
- # `head -1` gets the first one (the recent)
- sed -E -e "s/main\..*js/$(cd build/static/js && ls -tU *.js | head -1)/"\
- -e "s/main\..*css/$(cd build/static/css && ls -tU *.css | head -1)/"\
- -e "s/[0-9]\.[0-9]+\.[0-9]+/$VERSION/"\
- -i '' README.md
- git add README.md
- # Patch version
- sed -E -e "s/^ \"version\".*$/ \"version\": \"$VERSION\",/" -i '' package.json package-lock.json
- git add package.json package-lock.json
- echo && echo -e "${GREEN}### README and package.json modified successfully${NC}" && echo
- # Create release commit and tag and push them
- git commit -m "$VERSION"
- git tag v$VERSION
- git push origin master
- git push origin v$VERSION
- echo && echo -e "${GREEN}### Release commit and tag pushed to github${NC}" && echo
- # Remove prepublish step because we are using custom script
- sed -E -e "s/^ *\"prepublishOnly\".*$//" -i '' package.json
- # Authenticate within npmjs.com using Access Token from NPMJS_TOKEN
- echo "//registry.npmjs.org/:_authToken=${NPMJS_TOKEN}" > ".npmrc"
- # Publish the package
- npm publish
- echo && echo -e "${GREEN}### NPM package published${NC}" && echo
- # GitHub Packages requires scoped @company/repo name
- sed -E -e "s/^ \"name\".*$/ \"name\": \"@$COMPANY\/$REPO\",/" -i '' package.json
- # Authenticate within Github Packages using Personal Access Token
- echo "//npm.pkg.github.com/:_authToken=${GITHUB_PACKAGES_TOKEN}" > ".npmrc"
- # Publish the package
- npm publish --registry=https://npm.pkg.github.com/
- echo && echo -e "${GREEN}### GitHub package published${NC}" && echo
- # Restore modified files
- git checkout -- package.json package-lock.json
- # clean up
- rm -rf build
|