Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Commit

Permalink
build: make release process usable by multiple users
Browse files Browse the repository at this point in the history
  • Loading branch information
Julien Gilli committed Jul 7, 2015
1 parent 18d413d commit 2369189
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 16 deletions.
12 changes: 9 additions & 3 deletions tools/getstability.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import os,re
import os, re, sys

node_version_h = os.path.join(os.path.dirname(__file__), '..', 'src',
'node_version.h')
Expand All @@ -13,7 +13,13 @@
if re.match('#define NODE_PATCH_VERSION', line):
patch = line.split()[2]

if int(minor) % 2 == 0:
major_minor = major + '.' + minor
if major_minor == '0.10':
print 'maintenance'
elif major_minor == '0.12':
print 'stable'
else:
elif minor % 2 != 0:
print 'unstable'
else:
print 'Unknown stability status, exiting'
sys.exit(1)
51 changes: 38 additions & 13 deletions tools/node-release-post-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,26 +13,49 @@ fi
stability="$(python tools/getstability.py)"
NODE_STABC="$(tr '[:lower:]' '[:upper:]' <<< ${stability:0:1})${stability:1}"
NODE_STABL="$stability"
GITHUB_USERNAME=

function usage
{
echo "usage: sh tools/node-release-post-build.sh -u gh_username"
exit 1
}

while [ "$1" != "" ]; do
case $1 in
-u | --github-username ) shift
GITHUB_USERNAME=$1
;;
* ) usage
exit 1
esac
shift
done

if [ "$GITHUB_USERNAME" = "" ];
then
usage
fi

echo "Building for $stability"

scp tj@nodejs.org:archive/node/tmp/v$(python tools/getnodeversion.py)/SHASUM* .
scp staging@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)/
scp SHASUM* staging@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 [email protected] mv /home/tj/archive/node/tmp/v$(python tools/getnodeversion.py)/* /home/node/dist/v$(python tools/getnodeversion.py)/
ssh [email protected] mv /home/staging/archive/node/tmp/v$(python tools/getnodeversion.py)/* /home/node/dist/v$(python tools/getnodeversion.py)/
ssh [email protected] 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 [email protected]:joyent/node v$(python tools/getnodeversion.py)-release --tags
git push [email protected]:$GITHUB_USERNAME/node v$(python tools/getnodeversion.py)-release --tags

# blog post and email
make email.md
Expand All @@ -51,16 +74,18 @@ make email.md
echo ""
cat email.md ) > ../node-website/doc/blog/release/v$(python tools/getnodeversion.py).md

if [ "$stability" = "stable" ];
if [ "$stability" = "unstable" ];
then
## this needs to happen here because the website depends on the current node
## node version
## this will get the api docs in the right place
make website-upload
BRANCH="v$(python tools/getnodeversion.py | sed -E 's#\.[0-9]+$##')"
echo $(python tools/getnodeversion.py) > ../node-website/STABLE
else
BRANCH="master"
else
## This needs to happen here because the website depends on the current node
## node version.
if [ "$stability" = "stable" ]
then
echo $(python tools/getnodeversion.py) > ../node-website/STABLE
fi

BRANCH="v$(python tools/getnodeversion.py | sed -E 's#\.[0-9]+$##')"
fi

echo "Merging back into $BRANCH"
Expand All @@ -74,6 +99,6 @@ git merge --no-ff v$(python tools/getnodeversion.py)-release
vim src/node_version.h
git commit -am "Now working on "$(python tools/getnodeversion.py)

git push [email protected]:joyent/node $BRANCH
git push [email protected]:$GITHUB_USERNAME/node $BRANCH

echo "Now go do the website stuff"

0 comments on commit 2369189

Please sign in to comment.