mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.4 KiB
80 lines
2.4 KiB
11 years ago
|
#!/bin/bash
|
||
|
|
||
|
## This is to be used once jenkins has finished building the release
|
||
|
|
||
|
set -e
|
||
|
|
||
|
stability="$(python tools/getstability.py)"
|
||
|
NODE_STABC="$(tr '[:lower:]' '[:upper:]' <<< ${stability:0:1})${stability:1}"
|
||
|
NODE_STABL="$stability"
|
||
|
|
||
|
echo "Building for $stability"
|
||
|
|
||
|
scp tj@nodejs.org:archive/node/tmp/v$(python tools/getnodeversion.py)/SHASUM* .
|
||
|
FILES="SHASUMS SHASUMS256"
|
||
|
for i in $FILES ; do gpg -s $i.txt; gpg --clearsign $i.txt; done
|
||
|
scp SHASUM* tj@nodejs.org:archive/node/tmp/v$(python tools/getnodeversion.py)/
|
||
|
|
||
|
ssh nodejs.org mkdir -p "dist/v$(python tools/getnodeversion.py)/{x64,docs}"
|
||
|
ssh nodejs.org ln -s ../dist/v$(python tools/getnodeversion.py)/docs docs/v$(python tools/getnodeversion.py)
|
||
|
|
||
|
ssh root@nodejs.org mv /home/tj/archive/node/tmp/v$(python tools/getnodeversion.py)/* /home/node/dist/v$(python tools/getnodeversion.py)/
|
||
|
ssh root@nodejs.org chown -R node:other /home/node/dist/v$(python tools/getnodeversion.py)
|
||
|
|
||
|
# tag the release
|
||
|
# should be the same key used to sign the shasums
|
||
|
git tag -sm "$(bash tools/changelog-head.sh)" v$(python tools/getnodeversion.py)
|
||
|
|
||
|
# push to github
|
||
|
git push git@github.com:joyent/node v$(python tools/getnodeversion.py)-release --tags
|
||
|
|
||
|
# blog post and email
|
||
|
make email.md
|
||
|
( echo ""
|
||
|
echo "Shasums:"
|
||
|
echo '```'
|
||
|
cat SHASUMS.txt
|
||
|
echo '```' ) >> email.md
|
||
|
( echo -n "date: "
|
||
|
date
|
||
|
echo -n "version: "
|
||
|
python tools/getnodeversion.py
|
||
|
echo "category: release"
|
||
|
echo "title: Node v"$(python tools/getnodeversion.py)" ($NODE_STABC)"
|
||
|
echo "slug: node-v"$(python tools/getnodeversion.py | sed 's|\.|-|g')"-$NODE_STABL"
|
||
|
echo ""
|
||
|
cat email.md ) > doc/blog/release/v$(python tools/getnodeversion.py).md
|
||
|
|
||
|
if [ "$stability" = "stable" ];
|
||
|
then
|
||
|
## this needs to happen here because the website depends on the current node
|
||
|
## node version
|
||
|
make website-upload
|
||
|
make blog-upload
|
||
|
BRANCH="v$(python tools/getnodeversion.py | sed -E 's#\.[0-9]+$##')"
|
||
|
else
|
||
|
BRANCH="master"
|
||
|
fi
|
||
|
|
||
|
echo "Merging back into $BRANCH"
|
||
|
|
||
|
# merge back into mainline stable branch
|
||
|
git checkout $BRANCH
|
||
|
git merge --no-ff v$(python tools/getnodeversion.py)-release
|
||
|
|
||
|
# change the version number, set isrelease = 0
|
||
|
## TODO automagic.
|
||
|
vim src/node_version.h
|
||
|
git commit -am "Now working on "$(python tools/getnodeversion.py)
|
||
|
|
||
|
if [ "$stability" = "stable" ];
|
||
|
then
|
||
|
echo "Adding blog"
|
||
|
git add doc/blog
|
||
|
git commit -m "blog: Post for v$(python tools/getprevnodeversion.py)"
|
||
|
else
|
||
|
echo "copy blog to stable branch"
|
||
|
fi
|
||
|
|
||
|
git push git@github.com:joyent/node $BRANCH
|