mirror of
https://github.com/lupyuen/nuttx-release.git
synced 2025-01-12 23:28:30 +08:00
58 lines
1.4 KiB
Bash
Executable file
58 lines
1.4 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
## Find the latest failed job for today. Restart it.
|
|
for (( ; ; )); do
|
|
for repo in \
|
|
NuttX/nuttx \
|
|
nuttxpr/nuttx \
|
|
nuttxpr/nuttx-apps
|
|
do
|
|
## Find the running jobs for today
|
|
echo repo=$repo
|
|
date=$(date -u +'%Y-%m-%d')
|
|
running_list="
|
|
$(gh run list \
|
|
--repo $repo \
|
|
--limit 1 \
|
|
--created $date \
|
|
--status queued \
|
|
--json databaseId,name,displayTitle,conclusion \
|
|
--jq '.[].databaseId')
|
|
$(gh run list \
|
|
--repo $repo \
|
|
--limit 1 \
|
|
--created $date \
|
|
--status in_progress \
|
|
--json databaseId,name,displayTitle,conclusion \
|
|
--jq '.[].databaseId')
|
|
"
|
|
running_list=$(echo $running_list | xargs)
|
|
echo running_list=$running_list
|
|
|
|
## Skip if jobs are still running
|
|
if [[ "$running_list" != "" ]]; then
|
|
echo Skipping $repo, jobs are still running
|
|
continue
|
|
fi
|
|
|
|
## Find the latest failed job for today
|
|
failed_list="
|
|
$(gh run list \
|
|
--repo $repo \
|
|
--limit 1 \
|
|
--created $date \
|
|
--status failure \
|
|
--json databaseId,name,displayTitle,conclusion \
|
|
--jq '.[].databaseId')
|
|
"
|
|
|
|
## Restart the failed job
|
|
echo failed_list=$failed_list
|
|
for run_id in $failed_list; do
|
|
echo Restarting $run_id
|
|
gh run rerun --repo $repo --debug --failed $run_id
|
|
done
|
|
done
|
|
## Wait a while
|
|
date
|
|
sleep 500
|
|
done
|