micro--go-micro
4b61facf0d
Run Tests / Unit Tests (push) Has been cancelled
Harness (E2E) / Harnesses (mock LLM) (push) Has been cancelled
Harness (E2E) / Provider harnesses (live LLM conformance) (push) Has been cancelled
Lint / golangci-lint (push) Has been cancelled
govulncheck / govulncheck (push) Has been cancelled
Run Tests / Etcd Integration Tests (push) Has been cancelled
Comment out the automatic triggers on every loop workflow so the autonomous engine stops firing on its own while we land the current round of fixes 1:1: - planner / builder / coherence / security / release: drop the cron schedules (no more hourly/daily/weekly runs, no nightly auto-release). - triage: drop the workflow_run trigger so CI failures no longer auto-dispatch agent tasks. Each keeps workflow_dispatch, so any loop can still be run on demand, and re-enabling is just uncommenting the trigger. No prompts, tokens, or logic changed — only when the workflows fire. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CmdEY7pYmV5zzwCjNJ4ykL
62 行
2.5 KiB
YAML
62 行
2.5 KiB
YAML
name: "Loop: Triage"
|
|
|
|
# Generated by `micro loop init`. The feedback path of the evaluator: when a CI
|
|
# workflow (Harness (E2E), Lint, Run Tests) fails on a non-PR run, dispatch the agent
|
|
# (@codex) with the instruction in .github/loop/prompts/triage.md
|
|
# to root-cause the failure and file scoped fix issues back into the queue — so
|
|
# failures become fixes with no human in the middle. Gated on CODEX_TRIGGER_TOKEN.
|
|
|
|
on:
|
|
workflow_dispatch: {}
|
|
# PAUSED 2026-07-12: automatic CI-failure dispatch disabled while the team
|
|
# does focused 1:1 fixes, so failures don't auto-spawn agent tasks. Re-enable
|
|
# by uncommenting the workflow_run trigger below.
|
|
# workflow_run:
|
|
# workflows: ["Harness (E2E)", "Lint", "Run Tests", "govulncheck"]
|
|
# types: [completed]
|
|
|
|
permissions:
|
|
issues: write
|
|
|
|
concurrency:
|
|
group: loop-triage
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
triage:
|
|
# Only real failures on branch pushes/schedules — not PR-run failures, which
|
|
# the PR author already sees.
|
|
if: ${{ github.event.workflow_run.conclusion == 'failure' && github.event.workflow_run.event != 'pull_request' }}
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4 # needed to read the prompt file
|
|
- name: Dispatch triage
|
|
env:
|
|
GH_TOKEN: ${{ secrets.CODEX_TRIGGER_TOKEN || github.token }}
|
|
HAS_TOKEN: ${{ secrets.CODEX_TRIGGER_TOKEN != '' }}
|
|
REPO: ${{ github.repository }}
|
|
RUN_ID: ${{ github.event.workflow_run.id }}
|
|
RUN_URL: ${{ github.event.workflow_run.html_url }}
|
|
WORKFLOW_NAME: ${{ github.event.workflow_run.name }}
|
|
run: |
|
|
if [ "$HAS_TOKEN" != "true" ]; then
|
|
echo "CODEX_TRIGGER_TOKEN is not set — skipping."
|
|
exit 0
|
|
fi
|
|
PROMPT=".github/loop/prompts/triage.md"
|
|
if [ ! -f "$PROMPT" ]; then
|
|
echo "missing $PROMPT — run 'micro loop init'." >&2
|
|
exit 1
|
|
fi
|
|
ISSUE_URL=$(gh issue create --repo "$REPO" \
|
|
--title "Loop: triage failed run $RUN_ID ($WORKFLOW_NAME)" \
|
|
--body "The '$WORKFLOW_NAME' workflow failed on a non-PR run: $RUN_URL")
|
|
ISSUE_NUM="${ISSUE_URL##*/}"
|
|
echo "Opened issue #$ISSUE_NUM — dispatching triage."
|
|
{
|
|
echo "@codex"
|
|
echo
|
|
sed -e '/<!--/,/-->/d' -e "s/__ISSUE__/$ISSUE_NUM/g" -e "s#__RUNURL__#$RUN_URL#g" "$PROMPT"
|
|
} > "$RUNNER_TEMP/loop-body.md"
|
|
gh issue comment "$ISSUE_NUM" --repo "$REPO" --body-file "$RUNNER_TEMP/loop-body.md"
|