-
Notifications
You must be signed in to change notification settings - Fork 30.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build: make release process easier for multi users
Use staging area on nodejs.org instead of TJ's account. Also pushes release tag and branch to personal forks rather than joyent/node, which makes errors have less impact. Pushing release tags and branches is left as a manual step for the release managers, when they decide the timing is best. PR: #25638 PR-URL: nodejs/node-v0.x-archive#25638 Reviewed-By: Sam Roberts <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
- Loading branch information
Julien Gilli
committed
Jul 16, 2015
1 parent
e5aaa34
commit ec861f6
Showing
2 changed files
with
47 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 | ||
|
@@ -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" | ||
|
@@ -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" |