Files
sharedinbox/.forgejo/workflows/ci.yml
T
Thomas GuettlerandClaude Sonnet 4.6 ddb972ba08 feat(ci): add Print runner wait time step to all workflow jobs
Adds a first step to every CI job that measures how long the job sat in
the queue before a runner picked it up. Uses the Forgejo tasks API with
github.token (no new secrets required) and prints unknown if the API
lookup fails, so the step never blocks the job.

Closes #504

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 00:39:23 +00:00

44 lines
1.3 KiB
YAML

name: CI
on:
push:
branches:
- main
pull_request:
jobs:
check:
name: Full Project Check
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Print runner wait time
env:
FORGEJO_TOKEN: ${{ github.token }}
RUN_NUMBER: ${{ github.run_number }}
run: |
runner_start=$(date +%s)
created_at=$(curl -sf \
-H "Authorization: token $FORGEJO_TOKEN" \
"${{ github.server_url }}/api/v1/repos/${{ github.repository }}/actions/tasks?limit=100" \
| python3 -c "
import sys, json
data = json.load(sys.stdin)
for r in data.get('workflow_runs', []):
if r.get('run_number') == $RUN_NUMBER:
print(r['created_at'])
break
" 2>/dev/null)
if [ -n "$created_at" ]; then
queued_epoch=$(date -d "$created_at" +%s)
wait_seconds=$((runner_start - queued_epoch))
echo "Runner wait time: ${wait_seconds}s (queued at $created_at)"
else
echo "Runner wait time: unknown (API lookup failed)"
fi
- uses: actions/checkout@v4
- name: Setup Dagger Remote Engine
env:
SOPS_AGE_KEY: ${{ secrets.SOPS_AGE_KEY }}
run: scripts/setup_dagger_remote.sh
- name: Run Full Check Suite
run: task check-dagger