Files
stack/packages/mosaic/framework/tools/woodpecker
Hermes Agent d7028f959b
Some checks failed
ci/woodpecker/push/ci Pipeline was canceled
ci/woodpecker/pr/ci Pipeline was canceled
feat(framework/tools): orchestration helpers — lane-brief.sh + ci-wait.sh (#546)
Two additive orchestration tools distilled from forensic analysis of a live
U-Connect delivery session, both adopted by the live orchestrator before this
contribution.

lane-brief.sh (git/): one call returns the CURRENT open issue set for a repo
lane (milestone/label) from Gitea, classified for dispatch. Defeats stale
worker self-report (workers brief from static notes and report already-CLOSED
issues as "todo"). Closed excluded by definition; partitions by PR-linkage
(reliable) not assignee/dependency (empty in this fleet). Login resolution:
-L > $GITEA_LOGIN > owner inference > detect-platform.sh fallback.

ci-wait.sh (woodpecker/): blocks until pipeline(s) reach terminal state,
wrapping pipeline-status.sh (resolves repo->id, instance-aware). Replaces
hand-rolled `curl .../repos/1/pipelines/$n` loops that hardcode repo id 1.
Intended as a Monitor command + long (>=1500s) timed fallback, not a tight
poll. Exit 0=all success / 1=terminal non-success / 2=usage / 3=timeout.

Tested live vs usc/uconnect. README updated. No version bump (separate
release PR per convention).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Kt2D8TsnDwhtzEAPijsNmR
2026-06-18 13:30:13 -05:00
..

Woodpecker CI Tool Suite

Interact with Woodpecker CI pipelines (list builds, check status, trigger builds).

Prerequisites

  • jq and curl installed
  • Woodpecker credentials in ~/src/jarvis-brain/credentials.json

Setup

A Woodpecker API token is required. To configure:

  1. Go to Woodpecker CI → User Settings → API
  2. Generate a personal token
  3. Add to credentials.json:
{
  "woodpecker": {
    "url": "https://ci.mosaicstack.dev",
    "token": "YOUR_TOKEN_HERE"
  }
}

Scripts

Script Purpose
pipeline-list.sh List recent pipelines for a repo
pipeline-status.sh Get status of a specific or latest pipeline
pipeline-trigger.sh Trigger a new pipeline build
ci-wait.sh Block until pipeline(s) reach terminal state

Common Options

  • -r owner/repo — Repository (auto-detected from git remote if omitted)
  • -f json — JSON output (default: table)
  • -h — Show help

API Reference

  • Base URL: https://ci.mosaicstack.dev
  • API prefix: /api/
  • Auth: Bearer token in Authorization header

Examples

# List recent builds
~/.config/mosaic/tools/woodpecker/pipeline-list.sh

# Check latest build status
~/.config/mosaic/tools/woodpecker/pipeline-status.sh

# Trigger a build on a specific branch
~/.config/mosaic/tools/woodpecker/pipeline-trigger.sh -b feature/my-branch

# Block until one or more pipelines finish (event-driven CI wait)
~/.config/mosaic/tools/woodpecker/ci-wait.sh -r usc/uconnect -n 3917 -n 3918