| !73 merge bugfix/persistent-vscode-test-cache into main [bugfix][ide-plugins] #77 支持持久化 VS Code 测试缓存 Created-by: Gmw2012 Commit-by: Gmw2012 Merged-by: renyufei Description: # 问题单 PR 模板 ## 关联信息 - Issue:#77 - 里程碑(可选):无 ## 问题描述(必填) **复现路径:** 1. 清理流水线工作区及 .vscode-test/。 2. 在 macOS ARM 构建节点执行 npm test。 3. 等待 @vscode/test-electron 下载 VS Code 1.130.0 测试运行时。 4. 网络连接被重置时,流水线在集成测试启动前失败。 **现象:** - VS Code 测试运行时约 315 MB,工作区清理后会重复下载。 - 下载过程中出现 ECONNRESET 时,即使测试代码没有问题,流水线也会失败。  **根因分析:** - @vscode/test-electron 默认将测试运行时缓存在仓库内的 .vscode-test/。 - 流水线清理工作区后缓存失效,后续任务必须重新依赖外网下载。 ## 解决方案(必填) **核心改动:** - 支持通过 VSCODE_TEST_CACHE_PATH 指定构建节点上的持久化 VS Code 测试缓存目录。 - 在启动测试前递归创建缓存目录,支持父目录尚不存在的首次初始化场景。 - 未设置环境变量时继续使用仓库内 .vscode-test/,保持原有本地测试行为。 - 将下载空闲超时调整为 60 秒,降低短时网络抖动造成的失败概率。 **影响范围:** - 仅影响 VS Code Extension Host 集成测试启动前的运行时缓存和下载超时。 - 不影响 CJMP 插件运行时代码、插件打包结果及未配置环境变量的本地开发流程。 ## 用户可见变更(若无则写“无”) - 无。 ## 自验方案(必填) 测试用例: - 执行 VSCODE_TEST_CACHE_PATH=/Users/keels/jenkins/cjmp/IDE-Plugins/.vscode-test npm test。 - 确认测试日志显示命中 vscode-darwin-arm64-1.130.0,未重新下载 VS Code 测试运行时。 - 完整测试结果:133 passing。 - 执行 node --check scripts/run-vscode-coverage.mjs 和 git diff --check。 验证环境: - 版本/分支/commit:bugfix/persistent-vscode-test-cache / c6024d7 - 设备与系统:macOS ARM 构建节点,Node.js v23.11.0 See merge request: CJMP/IDE-Plugins!73 | 20 天前 |