deps: update gyp to 828ce09
[platform/upstream/nodejs.git] / tools / node-release-post-build.sh
1 #!/bin/bash
2
3 ## This is to be used once jenkins has finished building the release
4
5 set -e
6
7 stability="$(python tools/getstability.py)"
8 NODE_STABC="$(tr '[:lower:]' '[:upper:]' <<< ${stability:0:1})${stability:1}"
9 NODE_STABL="$stability"
10
11 echo "Building for $stability"
12
13 scp tj@nodejs.org:archive/node/tmp/v$(python tools/getnodeversion.py)/SHASUM* .
14 FILES="SHASUMS SHASUMS256"
15 for i in $FILES ; do gpg -s $i.txt; gpg --clearsign $i.txt; done
16 scp SHASUM* tj@nodejs.org:archive/node/tmp/v$(python tools/getnodeversion.py)/
17  
18 ssh nodejs.org mkdir -p "dist/v$(python tools/getnodeversion.py)/{x64,docs}"
19 ssh nodejs.org ln -s ../dist/v$(python tools/getnodeversion.py)/docs docs/v$(python tools/getnodeversion.py)
20
21 ssh root@nodejs.org mv /home/tj/archive/node/tmp/v$(python tools/getnodeversion.py)/* /home/node/dist/v$(python tools/getnodeversion.py)/
22 ssh root@nodejs.org chown -R node:other /home/node/dist/v$(python tools/getnodeversion.py)
23
24 # tag the release
25 # should be the same key used to sign the shasums
26 git tag -sm "$(bash tools/changelog-head.sh)" v$(python tools/getnodeversion.py)
27  
28 # push to github
29 git push git@github.com:joyent/node v$(python tools/getnodeversion.py)-release --tags 
30
31 # blog post and email
32 make email.md
33 ( echo ""
34   echo "Shasums:"
35   echo '```'
36   cat SHASUMS.txt
37   echo '```' ) >> email.md
38 ( echo -n "date: "
39   date
40   echo -n "version: "
41   python tools/getnodeversion.py
42   echo "category: release"
43   echo "title: Node v"$(python tools/getnodeversion.py)" ($NODE_STABC)"
44   echo "slug: node-v"$(python tools/getnodeversion.py | sed 's|\.|-|g')"-$NODE_STABL"
45   echo ""
46   cat email.md ) > doc/blog/release/v$(python tools/getnodeversion.py).md
47
48 if [ "$stability" = "stable" ];
49 then
50   ## this needs to happen here because the website depends on the current node
51   ## node version
52   make website-upload
53   make blog-upload
54   BRANCH="v$(python tools/getnodeversion.py | sed -E 's#\.[0-9]+$##')"
55 else
56   BRANCH="master"
57 fi
58
59 echo "Merging back into $BRANCH"
60
61 # merge back into mainline stable branch
62 git checkout $BRANCH
63 git merge --no-ff v$(python tools/getnodeversion.py)-release
64  
65 # change the version number, set isrelease = 0
66 ## TODO automagic.
67 vim src/node_version.h
68 git commit -am "Now working on "$(python tools/getnodeversion.py)
69
70 if [ "$stability" = "stable" ];
71 then
72   echo "Adding blog"
73   git add doc/blog
74   git commit -m "blog: Post for v$(python tools/getprevnodeversion.py)"
75 else
76   echo "copy blog to stable branch"
77 fi
78
79 git push git@github.com:joyent/node $BRANCH