1
0

Updated to latest xe-solutions

Signed-off-by: James Ketrenos <james.p.ketrenos@intel.com>
This commit is contained in:
James Ketrenos 2020-02-05 21:57:45 -08:00
parent e6f88283d2
commit ef3e113f0d
2 changed files with 63 additions and 17 deletions

View File

@ -9,11 +9,15 @@
# #
YES= YES=
QUIET=
PROJECT=$(basename $(pwd)) PROJECT=$(basename $(pwd))
while getopts ydp: opt; do while getopts ydqp: opt; do
case "${opt}" in case "${opt}" in
q)
QUIET=1
;;
p) p)
PROJECT=${OPTARG} PROJECT=${OPTARG}
;; ;;
@ -75,7 +79,7 @@ eval $(grep ^SYS_OSGC_TOKEN SECRETS)
GITLAB="https://gitlab.devtools.intel.com" GITLAB="https://gitlab.devtools.intel.com"
echo "Looking for CI trigger on ${PROJECT}" (( ! QUIET )) && echo "Looking for CI trigger on ${PROJECT}"
RESULTS=$(curl --noproxy '*' -s -X GET \ RESULTS=$(curl --noproxy '*' -s -X GET \
--header "PRIVATE-TOKEN: ${SYS_OSGC_TOKEN}" \ --header "PRIVATE-TOKEN: ${SYS_OSGC_TOKEN}" \
@ -114,7 +118,7 @@ TOKEN=$(echo ${RESULTS} | sed -E 's#([[{},])#\1\n#g' | {
}) })
[[ "${TOKEN}" == "" ]] && { [[ "${TOKEN}" == "" ]] && {
echo "'sys_osgc CI trigger' does not exist on ${PROJECT}." (( ! QUIET )) && echo "'sys_osgc CI trigger' does not exist on ${PROJECT}."
(( YES )) || while read -n1 -r -p "Create new trigger [y|N]? "; do (( YES )) || while read -n1 -r -p "Create new trigger [y|N]? "; do
case $REPLY in case $REPLY in
@ -145,10 +149,10 @@ TOKEN=$(echo ${RESULTS} | sed -E 's#([[{},])#\1\n#g' | {
exit 1 exit 1
} }
echo "Created token: ${TOKEN}" (( ! QUIET )) && echo "Created token: ${TOKEN}"
} }
echo "Using token: ${TOKEN}" (( ! QUIET )) && echo "Using token: ${TOKEN}"
function post { function post {
CMD="curl --noproxy '*' -s -X POST -F token=${TOKEN} -F ref=${REF} " CMD="curl --noproxy '*' -s -X POST -F token=${TOKEN} -F ref=${REF} "
@ -168,11 +172,13 @@ function post {
return 1 return 1
} }
echo -e "Pipeline URL:\n\n ${GITLAB}${PIPELINE}\n" (( ! QUIET )) && echo -e "Pipeline URL:\n\n ${GITLAB}${PIPELINE}\n"
(( QUIET )) && echo "$(basename ${PIPELINE})"
true true
} }
cat << EOF (( ! QUIET )) && cat << EOF
Triggering pipeline on project: Triggering pipeline on project:
${PROJECT} ${PROJECT}

View File

@ -1,21 +1,59 @@
#!/bin/bash #!/bin/bash
PIPELINE=
YES=
QUIET=
while getopts ydqp: opt; do
case "${opt}" in
q)
QUIET=1
;;
p)
PROJECT=${OPTARG}
;;
y)
YES=1
;;
[?])
usage
exit 0
;;
esac
done
shift $(( OPTIND-1 ))
PIPELINE=$1 PIPELINE=$1
[[ "${PIPELINE}" == "" ]] && {
>&2 echo "usage: watch PIPELINE" function usage {
cat << EOF
usage: watch [OPTIONS] PIPELINE
Options:
-y Answer Yes to any prompts
-p PROJECT Project to watch. Default: SOLUTION defined or directory-name.
EOF
}
(( PIPELINE )) || {
usage >&2
exit -1 exit -1
} }
# Bring in the variables from SOLUTION file, supporting # Bring in the variables from SOLUTION file, supporting
# nested substitution # nested substitution
. SOLUTION [[ -e SOLUTION ]] && . SOLUTION
VARS=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION)) [[ -e SOLUTION ]] && VARS=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION))
for var in ${VARS[@]}; do for var in ${VARS[@]}; do
export ${var} export ${var}
done done
PROJECT="vtt/sws/osgc/solutions/$(basename $(pwd))" PROJECT=${PROJECT:-${CONTAINER}}
PROJECT=${PROJECT:-$(basename $(pwd))}
PROJECT="vtt/sws/osgc/solutions/${PROJECT}"
URI_PROJECT=$(echo ${PROJECT} | sed -E 's,/,%2F,g') URI_PROJECT=$(echo ${PROJECT} | sed -E 's,/,%2F,g')
eval $(grep ^SYS_OSGC_TOKEN SECRETS) eval $(grep ^SYS_OSGC_TOKEN SECRETS)
@ -27,7 +65,7 @@ eval $(grep ^SYS_OSGC_TOKEN SECRETS)
GITLAB="https://gitlab.devtools.intel.com" GITLAB="https://gitlab.devtools.intel.com"
echo "Looking for pipeline jobs for ${PIPELINE}" (( ! QUIET )) && echo "Looking for pipeline ${PIPELINE} jobs for ${PROJECT}"
function get_jobs { function get_jobs {
ECHO=$1 ECHO=$1
@ -96,7 +134,7 @@ function update_log {
LINES=${LINES%% *} LINES=${LINES%% *}
} }
tail -n +${LINES} "logs/${ID}-latest" (( ! QUIET )) && tail -n +${LINES} "logs/${ID}-latest"
mv "logs/${ID}-latest" "logs/${ID}" mv "logs/${ID}-latest" "logs/${ID}"
} }
@ -107,7 +145,7 @@ while true; do
"${GITLAB}/api/v4/projects/${URI_PROJECT}/pipelines/${PIPELINE}/jobs") "${GITLAB}/api/v4/projects/${URI_PROJECT}/pipelines/${PIPELINE}/jobs")
JOBS=($(echo "${RESULTS}" | get_jobs)) JOBS=($(echo "${RESULTS}" | get_jobs))
echo "JOBS: ${JOBS[@]}" (( ! QUIET )) && echo "JOBS: ${JOBS[@]}"
MORE=0 MORE=0
FAIL=0 FAIL=0
@ -136,11 +174,13 @@ while true; do
;; ;;
esac esac
done done
(( MORE == 0 )) && { (( MORE == 0 )) && {
echo "No more jobs. Exiting." (( FAIL )) && >&2 echo "See ${JOBS[*]} in logs for failures"
(( ! QUIET )) && echo "No more jobs. Exiting ${FAIL}"
exit ${FAIL} exit ${FAIL}
} }
echo "Sleeping 5 seconds for ${MORE} jobs." (( ! QUIET )) && echo "Sleeping 5 seconds for ${MORE} jobs."
sleep 5 sleep 5
done done