diff options
| author | Tobias Bosch | 2014-01-06 12:19:51 -0800 |
|---|---|---|
| committer | Tobias Bosch | 2014-01-06 12:27:54 -0800 |
| commit | 5dc27959d5c0e45cc0cc6133a9ef676cc15d44bd (patch) | |
| tree | ecc31ec61ff67169774d529d487f819616638a01 /scripts/jenkins/master.sh | |
| parent | 4c21355940a98c7236a33d1b5e86d6cd3cf562cb (diff) | |
| download | angular.js-5dc27959d5c0e45cc0cc6133a9ef676cc15d44bd.tar.bz2 | |
chore(build): refactor build scripts in prepare/publish phase
Refactored all scripts so that they are divided into a `prepare`
and a `publish` phase. By this we can build, test, tag, commit
everything first. Only if all of this is ok we start pushing
to Github. By this we keep Github consistent even in error cases.
Extracted include script `/scripts/utils.inc`:
- parse and validate named arguments in the style
`--name=value`
- proxy git command and deactivate `git push` based on
command option `--git_push_dry_run=true`
(will be inherited to child scripts)
- enable/disable bash debug mode by command option
`--verbose=true`
- dispatch to functions based on command option
`--action=...`
- helper functions for dealing with json files
Diffstat (limited to 'scripts/jenkins/master.sh')
| -rwxr-xr-x | scripts/jenkins/master.sh | 43 |
1 files changed, 28 insertions, 15 deletions
diff --git a/scripts/jenkins/master.sh b/scripts/jenkins/master.sh index a4fe50ac..d5768f58 100755 --- a/scripts/jenkins/master.sh +++ b/scripts/jenkins/master.sh @@ -4,22 +4,35 @@ echo "#################################" echo "#### Update master ##############" echo "#################################" -# Enable tracing and exit on first failure -set -xe +ARG_DEFS=( + "[--no-test=true]" +) -cd `dirname $0`/../.. +function build { + cd ../.. -echo "#################################" -echo "#### Jenkins Build ############" -echo "#################################" -./jenkins_build.sh + if [[ $NO_TEST ]]; then + grunt package + else + ./jenkins_build.sh + fi -echo "#################################" -echo "## Update code.angular.js.org ###" -echo "#################################" -./scripts/code.angularjs.org/publish.sh + cd $SCRIPT_DIR +} -echo "#################################" -echo "#### Update bower ###############" -echo "#################################" -./scripts/bower/publish.sh
\ No newline at end of file +function phase { + ../code.angularjs.org/publish.sh --action=$1 + ../bower/publish.sh --action=$1 +} + +function run { + build + + # First prepare all scripts (build, test, commit, tag, ...), + # so we are sure everything is all right + phase prepare + # only then publish to github + phase publish +} + +source $(dirname $0)/../utils.inc |
