12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #!/bin/sh
- if [ -z "`which github-changes`" ]; then
- # specify version because github-changes "is under heavy development. Things
- # may break between releases" until 0.1.0
- echo "First, do: [sudo] npm install -g github-changes@0.0.14"
- exit 1
- fi
- if [ -d .git/refs/remotes/upstream ]; then
- remote=upstream
- else
- remote=origin
- fi
- # Increment v2.x.y -> v2.x+1.0
- npm version minor || exit 1
- # Generate changelog from pull requests
- github-changes -o request -r request \
- --auth --verbose \
- --file CHANGELOG.md \
- --only-pulls --use-commit-body \
- --date-format '(YYYY/MM/DD)' \
- || exit 1
- # Since the tag for the new version hasn't been pushed yet, any changes in it
- # will be marked as "upcoming"
- version="$(grep '"version"' package.json | cut -d'"' -f4)"
- sed -i -e "s/^### upcoming/### v$version/" CHANGELOG.md
- # This may fail if no changelog updates
- # TODO: would this ever actually happen? handle it better?
- git add CHANGELOG.md; git commit -m 'Update changelog'
- # Publish the new version to npm
- npm publish || exit 1
- # Increment v2.x.0 -> v2.x.1
- # For rationale, see:
- # https://github.com/request/oauth-sign/issues/10#issuecomment-58917018
- npm version patch || exit 1
- # Push back to the main repo
- git push $remote master --tags || exit 1
|