diff options
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/angular.js/finalize-version.sh | 20 | ||||
| -rwxr-xr-x | scripts/angular.js/initialize-new-version.sh | 24 | ||||
| -rwxr-xr-x | scripts/angular.js/publish.sh | 42 | ||||
| -rwxr-xr-x | scripts/angular.js/tag-release.sh | 42 | ||||
| -rwxr-xr-x | scripts/jenkins/release.sh | 51 | 
5 files changed, 80 insertions, 99 deletions
| diff --git a/scripts/angular.js/finalize-version.sh b/scripts/angular.js/finalize-version.sh deleted file mode 100755 index e885fd14..00000000 --- a/scripts/angular.js/finalize-version.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -echo "############################################" -echo "##  Remove "-snapshot" from version ########" -echo "############################################" - -ARG_DEFS=() - -function run { -  cd ../.. - -  replaceJsonProp "package.json" "version" "(.*)-snapshot" "\2" -  VERSION=$(readJsonProp "package.json" "version") - -  git add package.json -  git commit -m "chore(release): cut v$VERSION release" -  git tag -m "v$VERSION" v$VERSION -} - -source $(dirname $0)/../utils.inc diff --git a/scripts/angular.js/initialize-new-version.sh b/scripts/angular.js/initialize-new-version.sh deleted file mode 100755 index 9d060555..00000000 --- a/scripts/angular.js/initialize-new-version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -echo "############################################" -echo "##  Increment version, add "-snapshot" and set version name ##" -echo "############################################" - -ARG_DEFS=( -  "--next-version-type=(patch|minor|major)" -  "--next-version-name=(.+)" -) - -function run { -  cd ../.. - -  grunt bump:$NEXT_VERSION_TYPE -  NEXT_VERSION=$(readJsonProp "package.json" "version") -  replaceJsonProp "package.json" "version" "(.*)" "\2-snapshot" -  replaceJsonProp "package.json" "codename" ".*" "$NEXT_VERSION_NAME" - -  git add package.json -  git commit -m "chore(release): start v$NEXT_VERSION ($NEXT_VERSION)" -} - -source $(dirname $0)/../utils.inc diff --git a/scripts/angular.js/publish.sh b/scripts/angular.js/publish.sh deleted file mode 100755 index 8de5b11b..00000000 --- a/scripts/angular.js/publish.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -# Script for updating angular.js repo from current local build. - -echo "#################################" -echo "##     Update angular.js      ###" -echo "#################################" - -ARG_DEFS=( -  "--action=(prepare|publish)" - "--next-version-type=(patch|minor|major)" - "--next-version-name=(.+)" - "[--no-test=(true|false)]" -) - -function init { -  cd ../.. -} - -function prepare() { -  ./scripts/angular.js/finalize-version.sh - -  # Build -  if [[ $NO_TEST == "true" ]]; then -    npm install --color false -    grunt ci-checks package --no-color -  else -    ./jenkins_build.sh -  fi - -  ./scripts/angular.js/initialize-new-version.sh --next-version-type=$NEXT_VERSION_TYPE --next-version-name=$NEXT_VERSION_NAME -} - -function publish() { -  BRANCH=$(git rev-parse --abbrev-ref HEAD) -  # push the commits to github -  git push origin $BRANCH -  # push the release tag -  git push origin v`cat build/version.txt` -} - -source $(dirname $0)/../utils.inc diff --git a/scripts/angular.js/tag-release.sh b/scripts/angular.js/tag-release.sh new file mode 100755 index 00000000..fbb6e2de --- /dev/null +++ b/scripts/angular.js/tag-release.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +# Tags a release +# so that travis can do the actual release. + +echo "#################################" +echo "## Tag angular.js for a release #" +echo "#################################" + +ARG_DEFS=( +  "--action=(prepare|publish)" +  "--commit-sha=(.*)" +  # the version number of the release. +  # e.g. 1.2.12 or 1.2.12-rc.1 +  "--version-number=([0-9]+\.[0-9]+\.[0-9]+(-[a-z]+\.[0-9]+)?)" +  "--version-name=(.+)" +) + +function checkVersionNumber() { +  BRANCH_PATTERN=$(readJsonProp "package.json" "branchVersion") +  if [[ $VERSION_NUMBER != $BRANCH_PATTERN ]]; then +    echo "version-number needs to match $BRANCH_PATTERN on this branch" +    usage +  fi +} + +function init { +  cd ../.. +  checkVersionNumber +  TAG_NAME="v$VERSION_NUMBER" +} + +function prepare() { +  git tag "$TAG_NAME" -m "chore(release): $TAG_NAME codename($VERSION_NAME)" "$COMMIT_SHA" +} + +function publish() { +  # push the tag to github +  git push origin $TAG_NAME +} + +source $(dirname $0)/../utils.inc diff --git a/scripts/jenkins/release.sh b/scripts/jenkins/release.sh index 744a1a28..8c1e46bc 100755 --- a/scripts/jenkins/release.sh +++ b/scripts/jenkins/release.sh @@ -1,38 +1,63 @@  #!/bin/bash +# tags the current commit as a release and publishes all artifacts to +# the different repositories. +# Note: This will also works if the commit is in the past! +  echo "#################################" -echo "#### Cut release ################" +echo "#### cut release     ############"  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)]" +  # The sha to release. Needs to be the same as HEAD. +  # given as parameter to double check. +  "--commit-sha=(.*)" +  # the version number of the release. +  # e.g. 1.2.12 or 1.2.12-rc.1 +  "--version-number=([0-9]+\.[0-9]+\.[0-9]+(-[a-z]+\.[0-9]+)?)" +  # the codename of the release +  "--version-name=(.+)"  )  function init { -  NG_ARGS=("$@") +  if [[ $(git rev-parse --short HEAD) != $COMMIT_SHA ]]; then +    echo "HEAD is not at $COMMIT_SHA" +    usage +  fi +    if [[ ! $VERBOSE ]]; then      VERBOSE=false    fi -  if [[ ! $NO_TEST ]]; then -    NO_TEST=false -  fi    VERBOSE_ARG="--verbose=$VERBOSE" -  NO_TEST_ARG="--no_test=$NO_TEST" +} + +function build { +  cd ../.. + +  npm install --color false +  grunt ci-checks package --no-color + +  cd $SCRIPT_DIR  }  function phase {    ACTION_ARG="--action=$1" -  ../angular.js/publish.sh $ACTION_ARG $VERBOSE_ARG $NO_TEST_ARG \ -      --next-version-type=$NEXT_VERSION_TYPE --next-version-name=$NEXT_VERSION_NAME +  ../angular.js/tag-release.sh $ACTION_ARG $VERBOSE_ARG\ +    --version-number=$VERSION_NUMBER --version-name=$VERSION_NAME\ +    --commit-sha=$COMMIT_SHA + +  if [[ $1 == "prepare" ]]; then +    # The build requires the tag to be set already! +    build +  fi +    ../code.angularjs.org/publish.sh $ACTION_ARG $VERBOSE_ARG    ../bower/publish.sh $ACTION_ARG $VERBOSE_ARG -  ../angular-seed/publish.sh $ACTION_ARG $VERBOSE_ARG $NO_TEST_ARG -  ../angular-phonecat/publish.sh $ACTION_ARG $VERBOSE_ARG $NO_TEST_ARG +  ../angular-seed/publish.sh $ACTION_ARG $VERBOSE_ARG --no-test=true +  ../angular-phonecat/publish.sh $ACTION_ARG $VERBOSE_ARG --no-test=true  }  function run { | 
