diff --git a/contrib/rh-jenkins/jenkins_script.sh b/contrib/rh-jenkins/jenkins_script.sh index a80cd8285b..b59c7e369e 100644 --- a/contrib/rh-jenkins/jenkins_script.sh +++ b/contrib/rh-jenkins/jenkins_script.sh @@ -75,9 +75,11 @@ make distcheck log_timestamp -wget http://file.brq.redhat.com/~thaller/nmtui-0.0.1.tar.xz -git checkout origin/th/automation -- :/contrib/ -./contrib/rpm/build.sh +if [[ "$RPM" == true ]]; then + wget http://file.brq.redhat.com/~thaller/nmtui-0.0.1.tar.xz + git checkout origin/automation -- :/contrib/ + ./contrib/rpm/build.sh +fi log_timestamp diff --git a/contrib/rh-jenkins/trigger_build.sh b/contrib/rh-jenkins/trigger_build.sh index 7be8e219db..1c8ec25f45 100755 --- a/contrib/rh-jenkins/trigger_build.sh +++ b/contrib/rh-jenkins/trigger_build.sh @@ -10,27 +10,102 @@ url_encode() { } http_request() { - if [[ "$DRY_RUN" = "" ]]; then + if [[ "$DRY_RUN" == "no" ]]; then wget -q -O /dev/null "$1" fi } +eval_bool() { + case "$1" in + no|No|NO|n|0|false|False|FALSE) + return 1 + ;; + yes|Yes|YES|y|1|true|True|TRUE) + return 0 + ;; + *) + if [[ "$2" == 1 ]]; then + return 0 + else + return 1 + fi + ;; + esac +} + _USER="${_USER-$( git config user.email 2>/dev/null || echo 'unknown' )}" _TOKEN=nm-build-token-f4bd8bb7eaae +ARGV=("$@") +REFS=() +for i in ${!ARGV[@]}; do + if [[ "$REMAINING" == 1 ]]; then + REFS=("${REFS[@]}" "${ARGV[i]}") + else + case "${ARGV[i]}" in + -r|--rpm) + RPM=true + ;; + -R|--no-rpm) + RPM=false + ;; + --n|--dry-run|--test) + DRY_RUN=yes + ;; + -N|--no-test|--no-dry-run) + DRY_RUN=no + ;; + -c|--check-upstream) + NO_CHECK_UPSTREAM=no + ;; + -C|--no-check-upstream) + NO_CHECK_UPSTREAM=yes + ;; + -h|--help|'-?') + echo "$0 [-h|-r|--rpm|-R|--no-rpm|-n|--dry-run|--no-test] [--] REFS" + exit 1 + ;; + --) + REMAINING=1 + ;; + *) + REFS=("${REFS[@]}" "${ARGV[i]}") + ;; + esac + fi +done -if [[ "$DRY_RUN" != "" ]]; then - DRY_RUN=yes +if eval_bool "$NO_CHECK_UPSTREAM" 0; then + NO_CHECK_UPSTREAM=yes +else + NO_CHECK_UPSTREAM=no fi -echo "USER : \"$_USER\"" -echo "TOKEN : \"$_TOKEN\"" -echo "DRY_RUN : ${DRY_RUN:-no}" +if eval_bool "$DRY_RUN" 1; then + DRY_RUN=yes +else + DRY_RUN=no +fi -for _BRANCH; do +if eval_bool "$RPM" 0; then + RPM=yes + _RPM=true +else + RPM=no + _RPM=false +fi + +echo "USER : \"$_USER\"" +echo "TOKEN : \"$_TOKEN\"" +echo "DRY_RUN : $DRY_RUN" +echo "RPM : $RPM" +echo "NO_CHECK_UPSTREAM : $NO_CHECK_UPSTREAM" + + +for _BRANCH in "${REFS[@]}"; do _B="$(git rev-parse -q --verify "$_BRANCH")" || die "Error parsing revision \"$_BRANCH\"" - if [[ "$NO_CHECK_UPSTREAM" == "" ]]; then + if [[ "$NO_CHECK_UPSTREAM" == "no" ]]; then if [[ "$FOUND" = "" ]]; then echo echo "checking that the commits are pushed upstream... disable with NO_CHECK_UPSTREAM..." @@ -47,7 +122,7 @@ for _BRANCH; do done i=0 -for _BRANCH; do +for _BRANCH in "${REFS[@]}"; do i=$((i+1)) i0="`printf '%03d' "$i"`" _B="$(git rev-parse "$_BRANCH")" @@ -55,7 +130,7 @@ for _BRANCH; do if [[ -n "$CAUSE" ]]; then URL_CAUSE="&cause=`url_encode "$CAUSE"`" fi - _URL="http://10.34.131.51:8080/job/NetworkManager/buildWithParameters?token=`url_encode "$_TOKEN"`$URL_CAUSE&BRANCH=`url_encode "$_B"`" + _URL="http://10.34.131.51:8080/job/NetworkManager/buildWithParameters?token=`url_encode "$_TOKEN"`$URL_CAUSE&BRANCH=`url_encode "$_B"`&RPM=$_RPM" echo echo "BRANCH[$i0] : \"$_BRANCH\" ($_B)" echo "CAUSE[$i0] : \"$CAUSE\""