diff options
| author | Tobias Bosch | 2014-01-09 14:39:48 -0800 | 
|---|---|---|
| committer | Tobias Bosch | 2014-01-09 14:59:55 -0800 | 
| commit | 9ddef840b665bd94a49102a4e3dbc433f7b29b9a (patch) | |
| tree | 68baa133bd27fde473bd700c15532ca26347cf5f /scripts | |
| parent | 28fc80bba0107075ab371fd0a7634a38891626b2 (diff) | |
| download | angular.js-9ddef840b665bd94a49102a4e3dbc433f7b29b9a.tar.bz2 | |
chore(build): add relase-after-cdn script
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/angular.js/publish-cdn-version.sh | 30 | ||||
| -rwxr-xr-x | scripts/angularjs.org/publish.sh | 47 | ||||
| -rwxr-xr-x | scripts/jenkins/release-after-cdn.sh | 39 | ||||
| -rwxr-xr-x | scripts/jenkins/release.sh | 3 | ||||
| -rw-r--r-- | scripts/utils.inc | 7 | 
5 files changed, 125 insertions, 1 deletions
| diff --git a/scripts/angular.js/publish-cdn-version.sh b/scripts/angular.js/publish-cdn-version.sh new file mode 100755 index 00000000..ed5ce43e --- /dev/null +++ b/scripts/angular.js/publish-cdn-version.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +# Script for updating cdnVersion of angular.js + +echo "###################################" +echo "## Update angular.js cdnVersion ###" +echo "###################################" + +ARG_DEFS=( +  "--cdn-version=(.*)" +  "--action=(prepare|publish)" +) + +function init { +  cd ../.. +} + +function prepare { +  replaceJsonProp "package.json" "cdnVersion" "(.*)" "$CDN_VERSION" +  git add package.json +  git commit -m "chore(release): update cdn version" +} + +function publish { +  BRANCH=$(git rev-parse --abbrev-ref HEAD) +  # push the commits to github +  git push origin $BRANCH +} + +source $(dirname $0)/../utils.inc diff --git a/scripts/angularjs.org/publish.sh b/scripts/angularjs.org/publish.sh new file mode 100755 index 00000000..1efb621b --- /dev/null +++ b/scripts/angularjs.org/publish.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# Script for updating angularjs.org repo + +echo "#################################" +echo "##### Update angularjs.org ######" +echo "#################################" + +ARG_DEFS=( +  "--action=(prepare|publish)" +  "--cdn-version=(.*)" +) + +function init { +  TMP_DIR=$(resolveDir ../../tmp) +  REPO_DIR=$TMP_DIR/angularjs.org +} + +function prepare { +  echo "-- Cloning angularjs.org" +  git clone git@github.com:angular/angularjs.org.git $REPO_DIR + +  # +  # update files +  # +  echo "-- Updating angularjs.org" +  cd $REPO_DIR +  VERSION_REGEX="[a-z0-9\-\.\+]+" + +  replaceInFile "index.html" "(ajax\/libs\/angularjs\/)$VERSION_REGEX" "\1$CDN_VERSION" +  replaceInFile "index.html" "(<span class=\"version\">[^<]*<span>)$VERSION_REGEX" "\1$CDN_VERSION" +  replaceInFile "index.html" "(code.angularjs.org\/)$VERSION_REGEX" "\1$CDN_VERSION" + +  replaceInFile "js/homepage.js" "($scope.CURRENT_STABLE_VERSION[ ]*=[ ]*')$VERSION_REGEX" "\1$CDN_VERSION" +  replaceInFile "js/homepage.js" "($scope.CURRENT_UNSTABLE_VERSION[ ]*=[ ]*')$VERSION_REGEX" "\1$CDN_VERSION" + +  git add index.html +  git add js/homepage.js +  git commit -m "update(version): update angular version to $CDN_VERSION" +} + +function publish { +  cd $REPO_DIR +  echo "-- Pushing angularjs.org" +  git push origin master +} + +source $(dirname $0)/../utils.inc diff --git a/scripts/jenkins/release-after-cdn.sh b/scripts/jenkins/release-after-cdn.sh new file mode 100755 index 00000000..7623e177 --- /dev/null +++ b/scripts/jenkins/release-after-cdn.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +ARG_DEFS=( +  # require the git dryrun flag so the script can't be run without +  # thinking about this! +  "--git-push-dryrun=(true|false)" +) + +function findLatestRelease { +  # returns e.g. v1.2.7 +  LATEST_TAG=$(git describe --abbrev=0 --tags) +  # returns e.g. 1.2.7 +  echo ${LATEST_TAG:1} +} + +function init { +  NG_ARGS=("$@") +  if [[ ! $VERBOSE ]]; then +    VERBOSE=false +  fi +  VERBOSE_ARG="--verbose=$VERBOSE" +} + +function phase { +  ACTION_ARG="--action=$1" +  CDN_VERSION_ARG="--cdn-version=$LATEST_VERSION" +  ./scripts/angular.js/publish-cdn-version.sh $ACTION_ARG $CDN_VERSION_ARG $VERBOSE_ARG +  ./scripts/angularjs.org/publish.sh $ACTION_ARG $CDN_VERSION_ARG $VERBOSE_ARG +} + +function run { +  cd ../.. +  LATEST_VERSION=$(findLatestRelease) + +  phase prepare +  phase publish +} + +source $(dirname $0)/../utils.inc
\ No newline at end of file diff --git a/scripts/jenkins/release.sh b/scripts/jenkins/release.sh index 1b1bd26e..744a1a28 100755 --- a/scripts/jenkins/release.sh +++ b/scripts/jenkins/release.sh @@ -7,6 +7,9 @@ echo "#################################"  ARG_DEFS=(    "--next-version-type=(patch|minor|major)"    "--next-version-name=(.+)" +  # require the git dryrun flag so the script can't be run without +  # thinking about this! +  "--git-push-dryrun=(true|false)"    "[--no-test=(true|false)]"  ) diff --git a/scripts/utils.inc b/scripts/utils.inc index 3b0039ed..00213628 100644 --- a/scripts/utils.inc +++ b/scripts/utils.inc @@ -202,7 +202,12 @@ function readJsonProp {  # - note: propertyRegex will be automatically placed into a  #   capturing group! -> all other groups start at index 2!  function replaceJsonProp { -  sed -i .tmp -E 's/"('$2')"[ ]*:[ ]*"'$3'"/"\1": "'$4'"/' $1 +  replaceInFile $1 '"('$2')"[ ]*:[ ]*"'$3'"' '"\1": "'$4'"' +} + +# replaceInFile(file, findPattern, replacePattern) +function replaceInFile { +  sed -i .tmp -E "s/$2/$3/" $1    rm $1.tmp  } | 
