tree 65304facb2bdffda7d59b15c06b31cca3817a257
parent 76bcd8daf5fb912262c327e6c512dc5f9cea3dae
author Joey Armstrong <joey@opennetworking.org> 1680531452 -0400
committer Joey Armstrong <joey@opennetworking.org> 1680531459 -0400

VOL-4905 - Deploy new voltctl version.

jjb/shell/github-release.sh
---------------------------
  o parseArgs() accept more command line args: --draft, --dryrun, --gen-version
  o Added more debug statements so script is more verbose.
  o Invoke gh using variable "${gh_cmd}" so downloaded binary always used.
  o [LOCAL DEBUG]
    - Wrapper global vars with access methods to facilitate debugging.
    - Use getGitVersion() in place of literal $GIT_VERSION.
    - Create a --draft release when VERSION string suffixed with -dev[n].
  o Detect count(artifacts)==0 to inhibit publishing a source-only release.
  o pushd/popd -- detect and report cd errors

 EOH
     return
@@ -1000,38 +1030,54 @@ function parse_args()
 {
     [[ -v DEBUG ]] && func_echo "ENTER"

+    ## Defaults
+    set -- "$@" '--draft'
+
     while [ $# -gt 0 ]; do
-	local arg="$1"; shift
-	case "$arg" in
-	    -*gen-version)
-		get_version GIT_VERSION
-		;;
-
-	    -*git-hostname)
-		__githost="$1"; shift
-		;;
-
-	    -*repo-name)
-		__repo_name="$1"; shift
-		;;
-
-	    -*repo-org)
-		__repo_org="$1"; shift
-		;;
-
-	    -*pac)
-		declare -g pac="$1"; shift
-		readonly pac
-		[[ ! -f "$pac" ]] && error "--token= does not exist ($pac)"
-		: # nop/true
-		;;
-
-	    -*help)
-		usage
-		exit 0
-		;;
-	    *) error "Detected unknown argument $arg" ;;
-	esac
+        local arg="$1"; shift
+        func_echo "ARGV: $arg"
+        case "$arg" in
+
+            -*debug)   declare -i -g debug=1         ;;
+            --draft)   declare -i -g draft_release=1 ;;
+            --dry-run) declare -i -g dry_run=1       ;;
+
+            --version-file)
+                declare -i -g argv_version_file=1
+                ;;
+
+            -*gen-version)
+                declare -g -i argv_gen_version=1
+                ;;
+
+            -*git-hostname)
+                __githost="$1"; shift
+                ;;
+
+            -*repo-name)
+                __repo_name="$1"; shift
+                ;;
+
+            -*repo-org)
+                __repo_org="$1"; shift
+                ;;
+
+            -*pac)
+                declare -g pac="$1"; shift
+                readonly pac
+                [[ ! -f "$pac" ]] && error "--token= does not exist ($pac)"
+                : # nop/true
+                ;;
+
+            -*todo) todo ;;
+
+            -*help)
+                usage
+                exit 0
+                ;;
+
+            *) error "Detected unknown argument $arg" ;;
+        esac
     done

     return
@@ -1065,7 +1111,8 @@ pushd "$release_path" || error "pushd failed: dir is [$release_path]"
 **         GIT VERSION: $(declare -p GIT_VERSION)
 ** RELEASE_DESCRIPTION: $(declare -p RELEASE_DESCRIPTION)
 **     RELEASE_TARGETS: $(declare -p RELEASE_TARGETS)
-** make release
+** -----------------------------------------------------------------------
+** Running: make ${RELEASE_TARGETS}
 ** -----------------------------------------------------------------------
 EOM
     # build the release, can be multiple space separated targets
@@ -1091,10 +1138,9 @@ EOM
 EOM

   showReleases
-  # releaseDelete 'v4.175.710'
   release_staging
   popd  || error "pushd failed: dir is [$release_path]"
-fi
+# fi

 do_logout

Change-Id: I7cab7ac177acf7bbb1247642a113f4b797dab5f3
