11#! /bin/bash
2- pr_number=$1
2+ pr_number=" ${1} "
33
4- if [[ -z " $pr_number " ]]; then
4+ if [[ -z " ${ pr_number} " ]]; then
55 echo " Usage: check-async-review <pr_number>"
66 exit 1
77fi
88
9- base_dir=$( git rev-parse --show-toplevel 2> /dev/null)
10- if [[ -z " $base_dir " ]]; then
9+ base_dir=" $( git rev-parse --show-toplevel 2> /dev/null || true ) "
10+ if [[ -z " ${ base_dir} " ]]; then
1111 echo " ❌ Must be run from within a git repository."
1212 exit 1
1313fi
1414
15- log_dir=" $base_dir /.gemini/tmp/async-reviews/pr-$pr_number /logs"
15+ log_dir=" ${ base_dir} /.gemini/tmp/async-reviews/pr-${ pr_number} /logs"
1616
17- if [[ ! -d " $log_dir " ]]; then
17+ if [[ ! -d " ${ log_dir} " ]]; then
1818 echo " STATUS: NOT_FOUND"
19- echo " ❌ No logs found for PR #$pr_number in $log_dir "
19+ echo " ❌ No logs found for PR #${ pr_number} in ${ log_dir} "
2020 exit 0
2121fi
2222
@@ -34,32 +34,32 @@ all_done=true
3434echo " STATUS: CHECKING"
3535
3636for task_info in " ${tasks[@]} " ; do
37- IFS=" |" read -r task_name log_file <<< " $task_info"
37+ IFS=" |" read -r task_name log_file <<< " ${ task_info} "
3838
39- file_path=" $log_dir / $ log_file"
40- exit_file=" $log_dir / $ task_name .exit"
39+ file_path=" ${ log_dir} / ${ log_file} "
40+ exit_file=" ${ log_dir} / ${ task_name} .exit"
4141
42- if [[ -f " $exit_file " ]]; then
43- exit_code= $( cat " $ exit_file" )
44- if [[ " $exit_code " == " 0" ]]; then
45- echo " ✅ $task_name : SUCCESS"
42+ if [[ -f " ${ exit_file} " ]]; then
43+ read -r exit_code < " ${ exit_file} " || exit_code= " "
44+ if [[ " ${ exit_code} " == " 0" ]]; then
45+ echo " ✅ ${ task_name} : SUCCESS"
4646 else
47- echo " ❌ $task_name : FAILED (exit code $exit_code )"
48- echo " Last lines of $file_path :"
49- tail -n 3 " $file_path " | sed ' s/^/ /'
47+ echo " ❌ ${ task_name} : FAILED (exit code ${ exit_code} )"
48+ echo " Last lines of ${ file_path} :"
49+ tail -n 3 " ${ file_path} " | sed ' s/^/ /' || true
5050 fi
51- elif [[ -f " $file_path " ]]; then
52- echo " ⏳ $task_name : RUNNING"
51+ elif [[ -f " ${ file_path} " ]]; then
52+ echo " ⏳ ${ task_name} : RUNNING"
5353 all_done=false
5454 else
55- echo " ➖ $task_name : NOT STARTED"
55+ echo " ➖ ${ task_name} : NOT STARTED"
5656 all_done=false
5757 fi
5858done
5959
60- if $ all_done; then
60+ if [[ " ${ all_done} " == " true " ]] ; then
6161 echo " STATUS: COMPLETE"
62- echo " LOG_DIR: $log_dir "
62+ echo " LOG_DIR: ${ log_dir} "
6363else
6464 echo " STATUS: IN_PROGRESS"
65- fi
65+ fi
0 commit comments