Skip to content

GitCode CLI v0.14.0

Choose a tag to compare

@github-actions github-actions released this 22 Sep 08:37
· 89 commits to main since this release

GitCode CLI v0.14.0

v0.14.0 新增仓库 Actions 权限控制命令(单仓库与组织批量),修复插件目录分页解析;npm 分发进入三坐标并行时代(推荐 atomgit-cli),自动更新器随所装坐标自更新;项目仓库已迁移至 atomgit-cli/cli(GitCode 与 GitHub 双端 rename,旧链接经重定向继续可用)。

新功能

Actions 域

  • gc actions setting enable|disable — 仓库级 Actions 权限控制:-R owner/repo 单仓库或 --org <name> 批量启用/停用组织下全部仓库的 Actions(解决组织下仓库较多时逐个网页操作的问题)
    • 先读取每个仓库当前配置,仅修改 action_enabled 并保留其余权限字段;已处于目标状态的仓库跳过且不发送请求
    • 批量模式逐仓记录 updated / unchanged / failed(部分失败不中止,退出码 1 反映);组织列表分页采用首个空页终止 + 1000 页上限
    • 该接口使用 GitCode 网页会话 JWT(经典 PAT 不适用):交互式隐藏回显输入,或 --with-token 从 stdin 读取;JWT 仅在内存中使用
    • 危险操作确认门(家族式确认短语 {action} Actions for {target}),非交互需 --yes;--json 输出逐仓结果

OpenHarmony(arm64)npm 分发

  • npm 包新增 OpenHarmony arm64 支持:捆绑 gc-linux-arm64 静态二进制在 OpenHarmony 标准系统(Linux 内核)直接运行,npx ... install 一步引导,无需单独下载
  • 平台别名收窄:openharmony 仅在 arm64 下映射为 linux 二进制(见修复节)

npm 三坐标并行分发

  • 推荐坐标 atomgit-cli:@atomgit-cli/cli 与 @gitcode-cli/cli 并行等价,三坐标内容一致、版本同步演进、命令入口保持 gc / gitcode 不变
  • 三坐标为长期并行承诺,不设弃用时间表:每次正式发布以同一版本号发布全部坐标,发布流水线校验三坐标 dist-tag 一致
  • 自动更新器随所装坐标自更新:npm 包装层不再硬编码单一坐标——更新检查、精确安装、健康检查路径全部取自 package.json,各坐标只更新自身,不跨坐标安装
  • 注意:npm 上的裸名 gitcode-cli 为第三方无关项目(自带同名 gc 入口),非本工具,请勿安装

修复

  • gc actions plugin list 返回空列表:官方目录接口返回 content 分页包装且服务端单页上限 50(此前客户端按 100 请求并只识别旧包装字段,静默返回空)——现按服务端分页元数据取回全部页(51 个插件全部可见),无法识别的响应结构明确报错而非静默为空;翻页设 1000 页上限
  • npm openharmony 别名收窄到 arm64:OpenHarmony 标准系统仅 arm64 形态,openharmony/x64 现明确判定为不支持并给出合法组合提示(此前会误装 linux-x64 二进制)
  • gc actions setting 等写命令的 web-api 401 指引改为会话 JWT 专用说明,不再误导用户刷新 PAT

治理与流程

  • SIG 治理框架落地:spec/governance/sig-governance.md(状态机、单人模式限制、决策表)+ 三个试点 SIG(api / cli-ux / governance)+ RFC 流程(docs/rfcs/)+ YAML 校验脚本
  • 合并授权规则:AI 代理评审结论不构成合并授权,合并须人工逐 PR 明确指令;平台审批受限与零审批记录情形必须人工确认(spec/workflows/pr-workflow.md §9)
  • 仓库迁移:gitcode-cli/cli → atomgit-cli/cli(GitCode 与 GitHub 同步 rename,issue/PR 历史完整保留;Go module path 不变,不影响源码构建)

Agent-Friendly 改进

  • actions setting 支持 --json(写路径结果),预览/确认/失败明细走 stderr,stdout 仅结构化结果
  • 非交互缺 JWT 时在任何网络请求前 fail-fast(exit 2,零请求发出)

推荐升级方式

短命令快速升级

可信的个人本地环境可优先使用短命令(推荐坐标):

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

等价坐标:npx -y @gitcode-cli/cli@latest install(旧坐标长期可用,无需迁移)。

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

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

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

(scoped 坐标加固形式:npx --yes --ignore-scripts --registry=https://registry.npmjs.org --@gitcode-cli:registry=https://registry.npmjs.org @gitcode-cli/cli@latest install)

锁定版本安装

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

(scoped 坐标锁定形式:npx --yes --ignore-scripts --registry=https://registry.npmjs.org --@gitcode-cli:registry=https://registry.npmjs.org @gitcode-cli/cli@0.14.0 install)

完整变更

  • Actions setting 专项:!550(两轮 8 角色评审 + 人工写路径验证)
  • 多坐标并行:!564(动态坐标客户端)、!565(发布流水线 allowlist + 一致性门禁 + 恢复 v2)
  • OpenHarmony arm64 npm 分发:!515(含鸿蒙 arm64 真机流水线验证)、!549(别名收窄 arm64 + 文档对齐)
  • api-doc 同步:!552(actions run stop/rerun/retry 标记 native 覆盖)
  • 本轮合入 PR:!515/!549/!550/!551/!552/!553/!554/!555/!564/!565