Skip to content

feat(ci): wire six ai-workflows callers for issue→mergeable-PR pipeline#31

Merged
JacobPEvans merged 1 commit into
mainfrom
feat/wire-ai-workflows-callers
May 24, 2026
Merged

feat(ci): wire six ai-workflows callers for issue→mergeable-PR pipeline#31
JacobPEvans merged 1 commit into
mainfrom
feat/wire-ai-workflows-callers

Conversation

@JacobPEvans
Copy link
Copy Markdown
Owner

Summary

Adds six thin caller files in .github/workflows/ that delegate to reusable workflows in JacobPEvans/ai-workflows. After this PR merges (and the dependency below resolves), opening an issue on this repo triggers the full cloud pipeline: triage → draft PR → AI review → CI auto-fix → final merge gate.

Callers added

Trigger Caller Upstream
issues: [opened] issue-triage.yml ai-workflows/issue-triage.yml@main
issues: [opened] issue-resolver.yml ai-workflows/issue-resolver.yml@main
workflow_run (CI failure) ci-fix.yml ai-workflows/ci-fix.yml@main
pull_request_review: [submitted] final-pr-review.yml ai-workflows/final-pr-review.yml@main
issues/PR [opened, labeled, ready_for_review] project-router.yml ai-workflows/project-router.yml@main
push: [main] → re-dispatch post-merge-docs-review.yml ai-workflows/post-merge-docs-review.yml@main

Dropped from this wiring (intentionally)

  • claude-review.yml — DEPRECATED upstream 2026-04-04 ("Removed in favor of Gemini + Copilot PR reviews"). All upstream jobs gated if: false — caller would silently skip.
  • pr-issue-linker.yml — auto-triggers explicitly disabled in the source workflow (workflow_dispatch only).

Pin convention

All callers pin to @main per ci-cd-policy.md: JacobPEvans self-references use @main or a major tag, never minor/patch SemVer.

Dependency chain (DO NOT MERGE OUT OF ORDER)

  1. Merge JacobPEvans/secrets-sync #85 — adds docs to _all_repos and _github_app_repos anchors.
  2. Add JacobPEvans/docs to the GH_PAT_SECRETS_SYNC_ACTION fine-grained PAT repository access list (manual: GitHub Settings → Developer settings → Fine-grained tokens). The sync workflow fast-fails with the exact missing repo name if access is absent.
  3. Confirm sync ran: gh secret list --repo JacobPEvans/docs returns OPENROUTER_API_KEY and friends; gh variable list --repo JacobPEvans/docs returns GH_APP_CLAUDE_BOT_ID.
  4. Merge this PR.

Without the secrets in place, every caller will fail at the first claude-code-action step with "secret not found." Step 4 must come after step 3.

Validations passed locally

  • yamllint -d relaxed .github/workflows/*.yml — no warnings remaining (line-length wraps applied)
  • actionlint .github/workflows/*.yml — no errors

Test plan (post-merge, after dependency chain resolved)

  • CI green
  • File a trivial test issue: gh issue create --repo JacobPEvans/docs --title "test: pipeline e2e" --body "Trivial: fix typo in introduction.mdx"
  • Observe Issue Triage workflow runs within ~60s; labels applied
  • Observe Issue Resolver workflow creates a draft PR within ~3min
  • If CI fails on the draft PR, observe CI Fix workflow pushes a fix commit within ~3min
  • Submit a review on the draft PR; observe Final PR Review posts a merge-readiness comment within ~2min
  • Close the test issue and PR

Related work

Assisted-by: Claude noreply@anthropic.com

Adds the cloud-side automation pipeline so that opening an issue on this
repo triggers automatic triage, draft PR creation, AI review (via the
upstream Gemini/Copilot reviewers, not the deprecated claude-review),
CI auto-fix on failure, and a final merge-readiness gate.

Callers (all pinned @main per ci-cd-policy.md):

- issue-triage.yml         on issues: opened          - categorize, label, dedup
- issue-resolver.yml       on issues: opened          - draft PR for well-scoped issues
- ci-fix.yml               on workflow_run CI failure - push fix commit (max 2/PR, 5/day)
- final-pr-review.yml      on pull_request_review     - merge-readiness gate
- project-router.yml       on issues/PR open|label    - route to GitHub Projects
- post-merge-docs-review.yml on push to main         - audit + fix-PR via dispatch pattern

Each caller's input shape (repo_context for issue-resolver and ci-fix)
is tuned to this repo: Mintlify documentation site, MDX pages, mermaid
diagrams using the canonical hand-drawn Reef Green theme, navigation in
docs.json.

Dropped from this wiring (will not be added):

- claude-review.yml - DEPRECATED upstream 2026-04-04, jobs gated `if: false`
- pr-issue-linker.yml - auto-triggers explicitly disabled upstream

DEPENDS ON: JacobPEvans/secrets-sync #85 (adds `docs` to _all_repos and
_github_app_repos anchors). Without secrets distributed, every caller
fails at the first claude-code-action step. Merge order must be:
1. Merge secrets-sync #85
2. Add JacobPEvans/docs to the GH_PAT_SECRETS_SYNC_ACTION fine-grained PAT
   repository access list (manual UI step)
3. Confirm sync-secrets workflow ran on secrets-sync and that
   gh secret list --repo JacobPEvans/docs returns OPENROUTER_API_KEY
4. Merge this PR

Validations passed locally:
- yamllint -d relaxed (warnings resolved, no remaining)
- actionlint (no errors)

Assisted-by: Claude <noreply@anthropic.com>
@mintlify
Copy link
Copy Markdown

mintlify Bot commented May 24, 2026

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
jacobpevans 🟢 Ready View Preview May 24, 2026, 4:43 PM

@gemini-code-assist
Copy link
Copy Markdown

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@JacobPEvans JacobPEvans merged commit c1c02b4 into main May 24, 2026
7 checks passed
@JacobPEvans JacobPEvans deleted the feat/wire-ai-workflows-callers branch May 24, 2026 20:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant