任务说明
在个人 fork 的练习分支增加 workflow_dispatch 工作流:Codex job 只有 contents:read,运行 openai/codex-action 后把二进制 diff 上传为 artifact,不自动提交或推送。
开始前准备
给 Codex 的执行步骤
- 1Fork 仓库并检出 rust-v0.144.5 对应练习分支;不要向上游仓库推送。
- 2创建 .github/workflows/codex-patch-exercise.yml,只允许 workflow_dispatch,并关闭 checkout 凭据持久化。
- 3把 OPENAI_API_KEY 配成 fork 的 Actions secret,只通过 openai/codex-action 输入传递,不设为 job 级 env。
- 4提示 Codex只修改 exercise/fixture/ 范围并运行一个轻量验证,然后用 git diff --binary HEAD 生成 codex.patch。
- 5上传 patch artifact;下载后在本地隔离分支执行 git apply --check、review 和测试,不自动开 PR。
预期代码变更
- ·.github/workflows/codex-patch-exercise.yml:手动触发、只读权限、Codex Action 与 patch artifact 步骤。
- ·exercise/fixture/README.md:限定练习目录、验收标准和不得触碰的路径。
- ·AGENTS.md:仅在确有需要时增加 exercise/fixture 的 review 指导,不改上游已有规则含义。
测试命令
actionlint .github/workflows/codex-patch-exercise.yml && git diff --check && git apply --check codex.patch && gh workflow view codex-patch-exercise.yml结果边界
这是可复现实验,不声称 GitHub workflow 已由 codex.study 触发或通过。;实际运行需要学习者自己的 fork、GitHub Actions 权限和有效 OpenAI API key;不得共享或提交密钥。;artifact 中的 patch 不是可信发布物,必须本地 review、apply --check 和运行相关测试。;模板默认手动触发且不推送,扩展为自动 PR 前需重新完成威胁建模。
复盘问题
- ·Codex job 是否拥有任何不必要的写权限?
- ·API key 是否可能被仓库控制的 setup、依赖脚本或日志读取?
- ·把生成 patch 与发布变更分成两个信任域后,审计是否更清楚?
参考来源
优先使用 OpenAI 官方文档与官方仓库。外部来源会单独标识。
- OpenAI Codex GitHub Action
官方来源 · https://learn.chatgpt.com/docs/github-action
- OpenAI Codex Non-interactive Mode
官方来源 · https://learn.chatgpt.com/docs/non-interactive-mode
- openai/codex GitHub Repository
官方来源 · https://github.com/openai/codex
