aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorTobias Bosch2013-12-13 20:02:15 -0800
committerTobias Bosch2013-12-13 21:49:05 -0800
commit9a4c9e6487e0f51275a7820d0c162aceeadbf561 (patch)
treeefce73ed82268c92c4b3bfa03c9ed1c44d053b6b /scripts
parent11fff8fa0d370e2f20284510ad0e52cdf3bcb2a3 (diff)
downloadangular.js-9a4c9e6487e0f51275a7820d0c162aceeadbf561.tar.bz2
chore(build): correct and refactor release script
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/bower/publish.sh25
-rwxr-xr-xscripts/code.angularjs.org/publish.sh40
-rwxr-xr-xscripts/jenkins/bump-increment.sh25
-rwxr-xr-xscripts/jenkins/bump-remove-snapshot.sh20
-rwxr-xr-xscripts/jenkins/master.sh23
-rwxr-xr-xscripts/jenkins/release.sh40
6 files changed, 121 insertions, 52 deletions
diff --git a/scripts/bower/publish.sh b/scripts/bower/publish.sh
index fec1927d..2549a139 100755
--- a/scripts/bower/publish.sh
+++ b/scripts/bower/publish.sh
@@ -1,19 +1,21 @@
#!/bin/bash
-#
-# update all the things
-#
-
-set -e # fail if any command fails
+echo "#################################"
+echo "#### Update bower ###############"
+echo "#################################"
+# Enable tracing and exit on first failure
+set -xe
+# Normalize working dir to script dir
cd `dirname $0`
+
SCRIPT_DIR=`pwd`
+# export so that node.js can read those env settings
export TMP_DIR=../../tmp
-
export BUILD_DIR=../../build
-NEW_VERSION=$(node -e "console.log(require(process.env.BUILD_DIR+'/version.json').full)" | sed -e 's/\r//g')
+NEW_VERSION=`cat $BUILD_DIR/version.txt`
REPOS=(
angular \
@@ -34,6 +36,7 @@ REPOS=(
#
for repo in "${REPOS[@]}"
do
+ echo "-- Cloning bower-$repo"
git clone git@github.com:angular/bower-$repo.git $TMP_DIR/bower-$repo
done
@@ -46,6 +49,7 @@ for repo in "${REPOS[@]}"
do
if [ -f $BUILD_DIR/$repo.js ] # ignore i18l
then
+ echo "-- Updating files in bower-$repo"
cd $TMP_DIR/bower-$repo
git reset --hard HEAD
git checkout master
@@ -78,12 +82,15 @@ echo $NEW_VERSION
for repo in "${REPOS[@]}"
do
+ echo "-- Updating version in bower-$repo from $OLD_VERSION to $NEW_VERSION"
cd $TMP_DIR/bower-$repo
sed -i '' -e "s/$OLD_VERSION/$NEW_VERSION/g" bower.json
git add -A
+
+ echo "-- Committing, tagging and pushing bower-$repo"
git commit -m "v$NEW_VERSION"
git tag v$NEW_VERSION
- # TODO git push origin master
- # TODO git push origin v$NEW_VERSION
+ git push origin master
+ git push origin v$NEW_VERSION
cd $SCRIPT_DIR
done
diff --git a/scripts/code.angularjs.org/publish.sh b/scripts/code.angularjs.org/publish.sh
index 9eab269a..a23f613f 100755
--- a/scripts/code.angularjs.org/publish.sh
+++ b/scripts/code.angularjs.org/publish.sh
@@ -1,43 +1,46 @@
#!/bin/bash
-#
-# update all the things
-#
-
-set -e # fail if any command fails
+echo "#################################"
+echo "## Update code.angular.js.org ###"
+echo "#################################"
+# Enable tracing and exit on first failure
+set -xe
+# Normalize working dir to script dir
cd `dirname $0`
-SCRIPT_DIR=`pwd`
+
+# export so that node.js can read those env settings
export TMP_DIR=../../tmp
export REPO_DIR=$TMP_DIR/code.angularjs.org
-
export BUILD_DIR=../../build
-NEW_VERSION=$(node -e "console.log(require(process.env.BUILD_DIR+'/version.json').full)" | sed -e 's/\r//g')
+SCRIPT_DIR=`pwd`
+NEW_VERSION=`cat $BUILD_DIR/version.txt`
#
-# Don't publish snapshot builds!
+# Snapshot builds are kept in a temp directory in code.angularjs.org
+# that is filled by calling a php script there.
#
if [[ "$NEW_VERSION" =~ sha ]] ;then
- echo "publish to code.angularjs.org is not allowed for snapshot builds"
- exit 1;
+ echo "-- updating snapshot version"
+ curl -G --data-urlencode "ver=$NEW_VERSION" http://code.angularjs.org/fetchLatestSnapshot.php
+ exit 0;
fi
-exit 2
-
#
# clone
#
+echo "-- Cloning code.angularjs.org"
git clone git@github.com:angular/code.angularjs.org.git $REPO_DIR
#
# copy the files from the build
#
+echo "-- Updating code.angularjs.org"
mkdir $REPO_DIR/$NEW_VERSION
-
cd $REPO_DIR
git reset --hard HEAD
git checkout master
@@ -49,9 +52,14 @@ cp -r $BUILD_DIR/* $REPO_DIR/$NEW_VERSION/
#
# commit and push
#
-
+echo "-- Committing and pushing code.angularjs.org"
cd $REPO_DIR
git add -A
git commit -m "v$NEW_VERSION"
-# TODO git push origin master
+git push origin master
cd $SCRIPT_DIR
+
+#
+# refresh code.angularjs.org from github
+#
+curl http://code.angularjs.org/gitFetchSite.php \ No newline at end of file
diff --git a/scripts/jenkins/bump-increment.sh b/scripts/jenkins/bump-increment.sh
new file mode 100755
index 00000000..1a000fe0
--- /dev/null
+++ b/scripts/jenkins/bump-increment.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+echo "############################################"
+echo "## Increment version and add "-snapshot" ##"
+echo "############################################"
+
+if [ "$1" != "patch" -a "$1" != "minor" -a "$1" != "major" ]; then
+ echo "Please specify the next version type: patch|minor|major"
+ exit 1
+fi
+BUMP_TYPE=$1
+
+# Enable tracing and exit on first failure
+set -xe
+# Normalize working dir to script dir
+cd `dirname $0`/../..
+
+echo "-- increment version "
+grunt bump:$BUMP_TYPE
+NEXT_VERSION=$(node -e "console.log(require('./package.json').version)" | sed -e 's/\r//g')
+sed -i .tmp -e 's/"version": "\(.*\)"/"version": "\1-snapshot"/' package.json
+echo "-- new version: `grep '"version"' package.json`"
+echo "-- commit"
+git add package.json
+git commit -m "chore(release): start v$NEXT_VERSION" \ No newline at end of file
diff --git a/scripts/jenkins/bump-remove-snapshot.sh b/scripts/jenkins/bump-remove-snapshot.sh
new file mode 100755
index 00000000..cb1803cb
--- /dev/null
+++ b/scripts/jenkins/bump-remove-snapshot.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+echo "############################################"
+echo "## Remove "-snapshot" from version ########"
+echo "############################################"
+
+# Enable tracing and exit on first failure
+set -xe
+# Normalize working dir to script dir
+cd `dirname $0`/../..
+
+echo "-- old version: `grep '"version"' package.json`"
+sed -i .tmp -e 's/"version": "\(.*\)-snapshot"/"version": "\1"/' package.json
+VERSION=$(node -e "console.log(require('./package.json').version)" | sed -e 's/\r//g')
+echo "-- local version: $VERSION"
+
+echo "-- commit and tag with v$VERSION"
+git add package.json
+git commit -m "chore(release): v$VERSION"
+git tag -m "v$VERSION" v$VERSION
diff --git a/scripts/jenkins/master.sh b/scripts/jenkins/master.sh
index 38c21b97..a4fe50ac 100755
--- a/scripts/jenkins/master.sh
+++ b/scripts/jenkins/master.sh
@@ -1,14 +1,25 @@
#!/bin/bash
-set -e # fail if any command fails
+echo "#################################"
+echo "#### Update master ##############"
+echo "#################################"
+
+# Enable tracing and exit on first failure
+set -xe
+
cd `dirname $0`/../..
-# Build
+echo "#################################"
+echo "#### Jenkins Build ############"
+echo "#################################"
./jenkins_build.sh
-# Update code.angularjs.org
-VERSION=`cat build/version.txt`
-curl -G --data-urlencode 'ver=$VERSION' http://code.angularjs.org/fetchLatestSnapshot.php
+echo "#################################"
+echo "## Update code.angular.js.org ###"
+echo "#################################"
+./scripts/code.angularjs.org/publish.sh
-# Push to bower
+echo "#################################"
+echo "#### Update bower ###############"
+echo "#################################"
./scripts/bower/publish.sh \ No newline at end of file
diff --git a/scripts/jenkins/release.sh b/scripts/jenkins/release.sh
index be75efd7..444f5bdd 100755
--- a/scripts/jenkins/release.sh
+++ b/scripts/jenkins/release.sh
@@ -1,40 +1,38 @@
#!/bin/bash
-if [ -z "$1" ]; then
- echo "Please specify the version bump type: patch|minor|major"
- exit 1
+echo "#################################"
+echo "#### Cut release ################"
+echo "#################################"
+
+if [ "$1" != "patch" -a "$1" != "minor" -a "$1" != "major" ]; then
+ echo "Please specify the next version type: patch|minor|major"
+ exit 1
fi
+BUMP_TYPE=$1
-set -e # fail if any command fails
+# Enable tracing and exit on first failure
+set -xe
+# Normalize working dir to script dir
cd `dirname $0`/../..
-BUMP_TYPE=$1
-# bump versions: remove "-snapshot" suffix
-sed -i .tmp -e 's/"version": "\(.*\)-snapshot"/"version": "\1"/' package.json
+
+# Bump versions: remove "-snapshot" suffix
+./scripts/jenkins/bump-remove-snapshot.sh
# Build
./jenkins_build.sh
-VERSION=`cat build/version.txt`
-
-# Commit and tag
-git add package.json
-git commit -m "chore(release): v$VERSION"
-git tag -m "v$VERSION" v$VERSION
-# bump versions: increment version number and add "-snapshot"
-grunt bump:$BUMP_TYPE
-NEXT_VERSION=$(node -e "console.log(require('./package.json').version)" | sed -e 's/\r//g')
-sed -i .tmp -e 's/"version": "\(.*\)"/"version": "\1-snapshot"/' package.json
-git add package.json
-git commit -m "chore(release): start v$NEXT_VERSION"
+# Bump versions: Increment version and add "-snapshot"
+./scripts/jenkins/bump-increment.sh $BUMP_TYPE
+echo "-- push to Github"
# push to github
-# TODO git push
+git push
# Update code.angularjs.org
./scripts/code.angularjs.org/publish.sh
-# Push to bower
+# Update bower
./scripts/bower/publish.sh