Skip to content

GitCode CLI v0.13.0

Choose a tag to compare

@github-actions github-actions released this 16 Sep 03:28
· 157 commits to main since this release

GitCode CLI v0.13.0

v0.13.0 新增 13 个命令,覆盖 Actions 流水线写操作(停止/重跑/按 job 重试)、插件目录查询、SSH 公钥管理、仓库归档、组织与仓库讨论写操作,并落地 CI 凭证泄漏扫描防线。

新功能

Actions 域

  • gc actions run stop — 停止运行中的流水线(POST /api/v8/.../runs/{run_id}/stop),服务端幂等;带确认门保护(默认交互确认,--yes 跳过,非交互未携带 --yes 立即失败)
  • gc actions run rerun — 重跑整条流水线的全部 jobs(POST .../runs/{run_id}/rerun),仅 complete 状态的 run 可重跑,RUNNING 状态返回冲突(退出码 5);带确认门
  • gc actions run retry — 按 job 重试而不重跑整条流水线(POST .../runs/{run_id}/retry,body {"job_run_ids":[...]}):--job 可重复指定或 --failed 选择全部失败/取消 job;客户端前置校验 job 归属(服务端会静默接受跨 run 的 job id)并对 job 列表截断防御(total_count 与返回数不一致时拒绝执行);带确认门,确认文案列出将重试的 job 清单
  • gc actions run list 增强 — 按创建日期(--created,YYYY-MM-DD)与 commit SHA(--commit,完整 40 位)过滤流水线运行记录
  • gc actions plugin list/view — 查询 GitCode 官方 Actions 插件目录:列举可用插件、查看插件版本与 README

认证与 SSH 密钥

  • gc auth setup-git — 将 gc 配置为 git credential helper,git 操作自动携带认证;幂等追加不覆盖既有配置,纯客户端命令
  • gc ssh-key list/view/add/delete — SSH 公钥管理:add 支持 --title + 密钥文件、公钥 wire format 校验、终端输出安全过滤(sanitize);delete 含确认门;支持 --dry-run 与 --json

仓库与 Release

  • gc repo archive/unarchive — 仓库归档与恢复(归档后只读),带确认门保护与 --json
  • gc release delete-asset — 删除 release 附件,asset-id 来源 gc release view <tag> --json

标签与讨论

  • gc label edit — 更新标签名称与颜色(--new-name/--color)
  • gc discussions project delete — 删除仓库讨论(带确认门)
  • gc discussions project comments create — 在仓库讨论下创建评论
  • gc discussions delete — 删除组织讨论(带确认门)
  • gc discussions comments delete — 删除组织讨论评论/回复(带确认门)

修复

  • Windows 下 actions plugin 测试因 /tmp 路径不存在导致的基线失败(改用 t.TempDir())
  • gc release 资产操作错误链改进(WrapNotFound + asset-id 来源帮助)
  • gc auth setup-git 帮助文本披露 git-credential 跟进限制

安全

  • CI 凭证泄漏扫描防线:GitCode 与 GitHub 双平台 CI 新增 Secret Scan job(gitleaks v8.30.1,--redact=100 脱敏输出);GitCode 侧检测浅克隆并 --unshallow 补全历史后全量扫描(fail-closed)
  • 提交纪律成文:spec/foundations/security.md 新增「本地防线与提交纪律」(精确暂存、提交前复核、禁止 --no-verify、新 clone 必装钩子、误报登记 .gitleaksignore)
  • 写命令家族统一确认门(ConfirmOrAbort + --yes)与安全输出约定(红色 ✗ 前缀标识破坏性操作,JSON action 字段统一过去式)

Agent-Friendly 改进

  • 全部新命令支持 --json(只读与写路径结果均覆盖)
  • 写命令默认交互确认,非 TTY 未携带 --yes 立即失败(退出码 2),无隐式阻塞
  • actions run retry 的 job 归属校验与截断防御在请求前完成,未确认/未通过校验时 0 请求发出
  • docs/COMMANDS.md --json 命令索引(只读清单 + 写路径清单)与目录/章节顺序完整维护

推荐升级方式

短命令快速升级

可信的个人本地环境可优先使用短命令:

npx -y @gitcode-cli/cli@latest install
gitcode version
gitcode doctor install

短命令会继承当前目录和用户的 npm 配置。请仅在确认这些配置(包括 .npmrc)可信时使用。

CI、审计、未知项目目录或自定义 npm registry 环境,使用安全强化命令:

npx --yes --ignore-scripts --registry=https://registry.npmjs.org --@gitcode-cli:registry=https://registry.npmjs.org @gitcode-cli/cli@latest install
gitcode version

锁定版本安装

npx --yes --ignore-scripts --registry=https://registry.npmjs.org --@gitcode-cli:registry=https://registry.npmjs.org @gitcode-cli/cli@0.13.0 install
gitcode version

完整变更

  • Actions run 写命令专项:stop(!541)、rerun(!542)、retry(!543),两轮多角色评审 + 真实命令验证
  • 本轮合入 PR:!507/!508/!509/!510/!512/!513/!520/!525/!528/!532/!533/!541/!542/!543/!544/!545/!546/!547
  • CI Secret Scan 防线复盘:!546(gitleaks 双平台 + unshallow 全历史 + 提交纪律成文)