#!/usr/bin/env bash # ciwatch [INTERVALSECS] # Watch the latest Github actions run until it completes, returning the exit status. INTERVAL="${1:-10}" #LATESTRUN=$(gh run list -L1 --json databaseId -q .[0].databaseId) cilatestrunning() { gh run list --json status,databaseId -q '.[] | select(.status | in({"in_progress":0,"queued":0,"requested":0,"waiting":0})).databaseId' | head -1 } LATESTRUNNING=$(cilatestrunning) if [[ -n $LATESTRUNNING ]]; then gh run watch -i"$INTERVAL" "$LATESTRUNNING" --exit-status else echo "no runs in progress, attempting push" fi