Skip to content

Shared Workflows

Shared workflows are GitHub reusable workflows (on: workflow_call) that live in the buck-bronson repository. They contain all runtime logic — ECR login, container setup, preset-conditional dev environment setup, plugin selection, and routing to composite actions.

All shared workflows accept these inputs:

InputTypeRequiredDescription
presetstringYesPreset name: web, golang, none
envstringNoMultiline KEY=VALUE string for custom environment variables
web-auth-cookiesstringNoBase64-encoded JSON array of cookie objects for authenticated browser testing

Handles agent-dispatched Claude sessions with callback support.

Flow: ECR login → Generate GitHub App token → Write custom env vars to $GITHUB_ENV → Resolve preset → Setup dev environment (conditional) → Run bucky-execute

Key details:

  • Sets FILE_UPLOAD_URL from client_payload.agent_base_url so Claude runners can upload files (screenshots, artifacts)
  • Session context is fetched from the agent API via session_id; results are posted back to the runner API on completion
  • bucky-execute handles the full lifecycle: fetch context, build prompt, run claude-code-action, post results

Handles @bucky mentions on issues and PRs.

Flow: ECR login → Tag Bucky (PRs only)

Key details:

  • Uses concurrency groups per issue/PR number (bucky-${{ github.event.issue.number || github.event.pull_request.number }})
  • Issue comments with @bucky are handled by the agent service via GitHub App webhooks, not this workflow
  • This workflow only handles PR comments via the tag-bucky action

Handles automatic code review on PRs.

Flow: ECR login → Resolve preset → Setup dev environment (conditional) → Run bucky-code-review action

Key details:

  • Skips if PR author is buck-bronson[bot]
  • Uses code-review@claude-code-plugins trigger configuration

Handles cross-repo tasks. This is a direct workflow (not reusable) that runs in buck-bronson itself.

Trigger: repository_dispatch with type bucky-multi-repo-session

Flow: ECR login → Clone repos from client_payload.repos into repos/<name>/ → Setup Node.js + Go → Register all plugins → Run Claude with multi-repo prompts → Report session outcome

Key details:

  • Clones multiple repos into repos/<name>/ subdirectories
  • Sets up Node.js and Go toolchains without package installation
  • Uses multi-repo-specific prompts from .github/actions/bucky-execute/prompts/
  • GitHub issues for multi-repo sessions always live in buck-bronson
  • Only injects SOURCEGRAPH_TOKEN (no Rollbar or PostHog tokens)