logo
0
0
Login
fix: update download script to include user agent for curl requests and improve OpenVSX metadata handling

项目说明

这个仓库用于批量获取 VS Code/Code-Server 扩展(VSIX),并将成功下载的扩展上传到 CNB Releases,方便离线或内网环境使用。

主要流程:

  • 使用 config.yml 维护需要的扩展列表(extensions: 下按 publisher.name 列出)。
  • 运行 .ci/download.sh:从 OpenVSX 与 VS Marketplace 拉取 VSIX,校验成功后写入 download.json
  • 运行 .ci/upload.sh:仅上传 download.json 中标记 success 的 VSIX 到指定 Release。
  • 运行 .ci/releases.sh:根据 download.json 生成/更新 Release 说明,列出下载链接与元信息。

准备工作

  • 安装依赖:curljqunzipnumfmt(coreutils)。
  • 设置环境变量:
    • CNB_API_ENDPOINTCNB_WEB_ENDPOINT
    • CNB_TOKEN
    • CNB_REPO_SLUG
    • 可选:TAG_NAME/RELEASE_NAME(默认 Extension),DOWNLOAD_JSON(默认 download.json),OUT_DIR(默认 vsix)。

使用步骤

  1. 配置扩展列表
    编辑 config.yml,在 extensions: 下追加 publisher.name 项。

  2. 下载扩展

    bash .ci/download.sh
    • 只记录校验通过的 VSIX 至 download.json;失败不会写入。
    • 输出目录默认 vsix/
  3. 上传扩展到 Release

    bash .ci/upload.sh
    • 仅读取 download.jsonstatus=="success" 的记录。
    • 若无对应 Release 会自动创建(Tag 默认 Extension)。
  4. 更新 Release 说明

    bash .ci/releases.sh
    • 汇总 download.json 的成功项,写入 Release body,生成下载链接。

常用说明

  • 仅成功下载会进入 download.json,失败项无需清理。
  • 若需自定义下载记录路径:DOWNLOAD_JSON=other.json bash .ci/download.sh
  • 若需覆盖 Release 名称/Tag:TAG_NAME=my-tag RELEASE_NAME=my-tag bash .ci/upload.sh / .ci/releases.sh
  • VSIX 校验:文件头为 Zip,且 unzip -t 通过才视为成功;拦截页会被删除并重试。*** End Patch*/

About

No description, topics, or website provided.
Language
Shell100%