Add indri-runner-logs script to fetch workflow logs
Fetches logs for Forgejo Actions runs from indri's local storage. Logs are stored as zstd-compressed files in the forgejo data directory. Usage: mise run indri-runner-logs <run_id> Only works for runs executed by the indri-host-runner. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
31697b4d63
commit
b598ea8d5a
1 changed files with 38 additions and 0 deletions
38
mise-tasks/indri-runner-logs
Executable file
38
mise-tasks/indri-runner-logs
Executable file
|
|
@ -0,0 +1,38 @@
|
|||
#!/usr/bin/env bash
|
||||
#MISE description="Get logs for a workflow run from indri (local runner only)"
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
RUN_ID="${1:-}"
|
||||
|
||||
if [[ -z "$RUN_ID" ]]; then
|
||||
echo "Usage: mise run indri-runner-logs <run_id>"
|
||||
echo ""
|
||||
echo "Fetches logs for a Forgejo Actions run from indri's local storage."
|
||||
echo "Only works for runs executed by the indri-host-runner."
|
||||
echo ""
|
||||
echo "Recent runs:"
|
||||
curl -sf "https://forge.tail8d86e.ts.net/api/v1/repos/eblume/blumeops/actions/tasks" | \
|
||||
jq -r '.workflow_runs[:10] | .[] | " \(.id)\t\(.status)\t\(.workflow_id)\t\(.display_title | .[0:50])"'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Logs are stored as: actions_log/<owner>/<repo>/<hex_subdir>/<run_id>.log.zst
|
||||
# The hex subdir is the last 2 hex chars of the run_id
|
||||
ACTIONS_LOG_DIR="/opt/homebrew/var/forgejo/data/actions_log/eblume/blumeops"
|
||||
|
||||
# Find the log file - hex subdir is computed from run_id
|
||||
HEX_SUBDIR=$(printf '%02x' "$RUN_ID")
|
||||
LOG_FILE="${ACTIONS_LOG_DIR}/${HEX_SUBDIR}/${RUN_ID}.log.zst"
|
||||
|
||||
# Check if log exists and decompress
|
||||
if ssh indri "test -f '$LOG_FILE'"; then
|
||||
ssh indri "zstd -d -c '$LOG_FILE'"
|
||||
else
|
||||
echo "Error: Log file not found for run $RUN_ID"
|
||||
echo "Expected path: $LOG_FILE"
|
||||
echo ""
|
||||
echo "Available logs:"
|
||||
ssh indri "find '$ACTIONS_LOG_DIR' -name '*.log.zst' -exec basename {} .log.zst \; | sort -n | tail -10"
|
||||
exit 1
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue