File: release.sh

package info (click to toggle)
node-request 2.88.1-6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 960 kB
  • sloc: javascript: 9,687; sh: 46; makefile: 2
file content (45 lines) | stat: -rwxr-xr-x 1,262 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/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