e4f0b77ca8
CI / test (pull_request) Successful in 22s
核心变更: - _common.sh: setup_worktree 改为 session-unique detached worktree (origin/main) - 所有 Agent 文档移除 git checkout main / git pull origin main - Feature branch 统一从 origin/main 创建: git fetch origin && git checkout -b <branch> origin/main - CLAUDE.md: 新增工作区隔离章节, primary worktree 定义为只读参考区 - 新增 start_generic.sh: Generic session worktree 隔离启动器 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
37 lines
1.6 KiB
Bash
37 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
# QE-Agent 启动脚本 — 单次任务 + 互动轮询 两种模式
|
|
# 用法: bash scripts/start_qe_agent.sh <GITEA_USER>
|
|
# 示例: bash scripts/start_qe_agent.sh pzhang_qe_agent_01
|
|
|
|
set -eu
|
|
|
|
if [ $# -lt 1 ]; then
|
|
echo "Usage: $0 <GITEA_USER>"
|
|
echo "Example: $0 pzhang_qe_agent_01"
|
|
exit 1
|
|
fi
|
|
|
|
export GITEA_USER="$1"
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
source "$SCRIPT_DIR/_common.sh"
|
|
|
|
# Switch to isolated worktree so multiple agents don't conflict
|
|
setup_worktree "$GITEA_USER"
|
|
|
|
# Cleanup worktree on exit (optional, comment out to keep for debugging)
|
|
trap 'cleanup_worktree' EXIT
|
|
|
|
banner "QE"
|
|
require_token
|
|
launch_agent \
|
|
"qe-agent" \
|
|
"$PROJECT_DIR/.claude/agents/qe-agent.md" \
|
|
"QE-Agent" \
|
|
"执行一次 Issue 巡检(单次任务,不要用 /loop):
|
|
1. python scripts/agent_poller.py --action list --labels test-code 检查 test-code Issue
|
|
2. python scripts/agent_poller.py --action list --labels acceptance-failure 检查 acceptance-failure Issue
|
|
3. test-code Issue:分析 → 开发验收测试到 tests/acceptance/ → pytest 本地验证 → commit('test:' 前缀, Closes #N) → push → create-pr → 等 CI → merge-pr
|
|
4. acceptance-failure Issue:分析失败原因 → 测试问题则修复测试 → 管道问题则开 test-code issue 跟踪
|
|
5. 所有 Issue 处理完毕后报告汇总并退出。" \
|
|
"现在开始工作。使用 /loop 10m 开启轮询:每 10 分钟检查 test-code 和 acceptance-failure 标签 Issue,有则走完整闭环(分析→开发测试→pytest→push→PR→CI→merge),无则报告 main healthy。保持对话开放。"
|