diff options
| author | Tobias Bosch | 2013-12-13 20:02:15 -0800 |
|---|---|---|
| committer | Tobias Bosch | 2013-12-13 21:49:05 -0800 |
| commit | 9a4c9e6487e0f51275a7820d0c162aceeadbf561 (patch) | |
| tree | efce73ed82268c92c4b3bfa03c9ed1c44d053b6b /scripts | |
| parent | 11fff8fa0d370e2f20284510ad0e52cdf3bcb2a3 (diff) | |
| download | angular.js-9a4c9e6487e0f51275a7820d0c162aceeadbf561.tar.bz2 | |
chore(build): correct and refactor release script
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/bower/publish.sh | 25 | ||||
| -rwxr-xr-x | scripts/code.angularjs.org/publish.sh | 40 | ||||
| -rwxr-xr-x | scripts/jenkins/bump-increment.sh | 25 | ||||
| -rwxr-xr-x | scripts/jenkins/bump-remove-snapshot.sh | 20 | ||||
| -rwxr-xr-x | scripts/jenkins/master.sh | 23 | ||||
| -rwxr-xr-x | scripts/jenkins/release.sh | 40 |
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 |
