Skip to content

Latest commit

 

History

History
126 lines (91 loc) · 3.47 KB

File metadata and controls

126 lines (91 loc) · 3.47 KB

GitHub Task Workflow 问题诊断报告

发现的问题

1. ✅ 已修复:SSL 证书验证失败 (主要问题)

症状:

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate

原因:

  • Python 3.14.0b1 来自 ServBay (/Applications/ServBay/script/alias/python3)
  • ServBay 的 Python 使用独立的 OpenSSL,证书路径配置不正确
  • Python 无法找到系统的 CA 证书

修复方案:create_issue.pyupdate_issue.py 中添加 SSL 上下文修复:

import ssl
import certifi
ssl._create_default_https_context = lambda: ssl.create_default_context(cafile=certifi.where())

状态: ✅ 已应用到 ../spark-skills/github-task-workflow/scripts/ 目录下的脚本


2. ✅ 已修复:Git Hooks 未安装

症状:

  • .git/hooks/ 目录缺少 prepare-commit-msgpost-commit
  • 提交时不会自动追加 Refs: #issue 到提交信息
  • 提交后不会自动评论到 GitHub Issue

修复方案: 已安装以下 hooks:

  • .git/hooks/prepare-commit-msg - 自动追加 issue 引用到提交信息
  • .git/hooks/post-commit - 自动向 GitHub Issue 添加提交评论

3. ⚠️ 需要用户处理:GitHub Token 权限不足

症状:

Error: GitHub API error: 403 - {"message":"Resource not accessible by personal access token"}

原因: 当前的 GITHUB_TOKEN 环境变量没有 repo scope 权限,无法创建/更新 issue。

解决方案:

  1. 访问 https://github.com/settings/tokens
  2. 创建新的 Personal Access Token (classic)
  3. 勾选以下权限:
    • repo - 完全控制仓库(包括创建 issue)
  4. 更新环境变量:
    export GITHUB_TOKEN="ghp_your_new_token_here"

验证测试

运行以下命令验证修复:

# 测试 SSL 修复(应该返回 403,而不是 SSL 错误)
cd /Users/patrick/innate/spark-cli
python3 ../spark-skills/github-task-workflow/scripts/create_issue.py \
  --title "Test" --body "Test" 2>&1

# 如果看到 "Error: GitHub API error: 403",说明 SSL 已修复
# 如果是 "SSL: CERTIFICATE_VERIFY_FAILED",说明修复未生效

完整使用流程

1. 设置 GitHub Token

export GITHUB_TOKEN="ghp_your_token_here"

2. 创建 Issue 并执行工作流

# 方法 A: 使用编排器
python3 ../spark-skills/github-task-workflow/scripts/orchestrate.py init tasks/my-task.md

# 执行代码修改...

python3 ../spark-skills/github-task-workflow/scripts/orchestrate.py finish

3. 分支命名约定

创建分支时以 issue 编号开头:

git checkout -b 11-feature-name  # 11 是 issue 编号

这样 hooks 会自动追加 Refs: #11 到提交信息,并自动评论到 issue。


文件变更

修改的文件

  1. ../spark-skills/github-task-workflow/scripts/create_issue.py - 添加 SSL 修复
  2. ../spark-skills/github-task-workflow/scripts/update_issue.py - 添加 SSL 修复
  3. .git/hooks/prepare-commit-msg - 新安装
  4. .git/hooks/post-commit - 新安装

配置状态

  • .github-task-workflow.yaml - 已配置(repo: variableway/spark-cli)
  • .github-task-workflow.active-issue - 包含 issue #11(可能已过期)

建议

  1. 更新 GITHUB_TOKEN:获取一个有 repo 权限的 token
  2. 清理 active-issue:如果 #11 已完成,删除 .github-task-workflow.active-issue
  3. 测试工作流:创建一个新任务文件测试完整流程