feat(framework/tools): orchestration CI/dispatch helpers — lane-brief.sh + ci-wait.sh #546
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two additive orchestration helpers for the framework tool suite, born from forensic analysis of a live U-Connect delivery session (wall-clock-first optimization lane).
lane-brief.sh (git/)
One call returns the CURRENT open issue set for a repo lane (milestone/label) straight from Gitea, classified for dispatch. Defeats the observed failure mode where workers self-report issue state from stale static briefs and report already-CLOSED issues as 'todo', forcing the orchestrator to re-verify each before dispatch. Closed issues are excluded by definition. Partitions open issues by PR-linkage (reliable) rather than assignee/dependency (this fleet leaves those empty in the provider, so 'unassigned' != 'available'). Login resolution: -L > $GITEA_LOGIN > owner inference > detect-platform.sh fallback (the shared default-login resolver is not owner-aware).
ci-wait.sh (woodpecker/)
Blocks until one or more Woodpecker pipelines reach terminal state, wrapping the existing pipeline-status.sh (which resolves repo->id correctly and is instance-aware). Replaces hand-authored
while true; curl .../repos/1/pipelines/$n; sleeploops that HARDCODE Woodpecker repo id 1 and re-implement URL building with raw curl. Intended as the COMMAND of a Monitor/event-driven re-invoke (primary) + one long (>=1500s) timed fallback — never a tight <300s poll. Exit: 0=all success, 1=terminal non-success, 2=usage, 3=timeout.Both tested live against usc/uconnect (lane-brief vs the open board; ci-wait vs pipeline 3943). README updated. No version bump (separate release PR per convention).