Title: [codex] Avoid Windows EBUSY when packaging Qwen runtime by DragonnZhang · Pull Request #9 · modelstudioai/openwork · GitHub
Open Graph Title: [codex] Avoid Windows EBUSY when packaging Qwen runtime by DragonnZhang · Pull Request #9 · modelstudioai/openwork
X Title: [codex] Avoid Windows EBUSY when packaging Qwen runtime by DragonnZhang · Pull Request #9 · modelstudioai/openwork
Description: What this PR does Moves the vendored Qwen Code runtime out of regular Windows files copying and into win.extraResources, matching the existing Windows workaround for Bun, Codex, and uv. The runtime still lands at resources/app/vendor/qwen-code, which is one of the packaged lookup paths used by the desktop runtime resolver. Why it's needed The Desktop Release run https://github.com/modelstudioai/openwork/actions/runs/27131379021 failed only on Windows after vendoring and building succeeded. electron-builder reached the packaging phase and then failed with EBUSY: resource busy or locked while copying apps/electron/vendor/qwen-code/cli.js into release/win-unpacked/resources/app/vendor/qwen-code/cli.js. The existing config already documents this Windows file-locking class for other vendored runtime binaries, so Qwen Code should use the same extraResources path. Reviewer Test Plan How to verify Re-run the Desktop Release workflow for version 0.0.2. The Windows job should proceed past the previous EBUSY copy failure for vendor/qwen-code/cli.js. macOS and Linux should be unaffected because this changes only the win section of the electron-builder config. Evidence (Before & After) Before: Build Windows failed in run https://github.com/modelstudioai/openwork/actions/runs/27131379021/job/80072953167 with EBUSY: resource busy or locked, copyfile ... vendor\qwen-code\cli.js ... release\win-unpacked\resources\app\vendor\qwen-code\cli.js. After: Local CRAFT_BRAND=openwork bun run electron:builder-config succeeded, apps/electron/electron-builder.yml parsed as YAML, generated config contains both !vendor/qwen-code/**/* under win.files and vendor/qwen-code -> app/vendor/qwen-code under win.extraResources, and git diff --check HEAD~1..HEAD passed. Tested on OS Status 🍏 macOS ✅ tested 🪟 Windows ⚠️ not tested locally 🐧 Linux ⚠️ not tested locally Environment (optional) Local macOS shell in /Users/dragon/Documents/openwork; hosted Windows failure inspected with gh. Risk & Scope Main risk or tradeoff: Qwen runtime placement now follows the extraResources copy path on Windows, but the destination stays under resources/app/vendor/qwen-code to preserve packaged runtime resolution. Not validated / out of scope: a full hosted Windows Desktop Release rerun has not completed yet from this PR branch. Breaking changes / migration notes: none. Linked Issues References https://github.com/modelstudioai/openwork/actions/runs/27131379021 中文说明 What this PR does 这个 PR 把 vendored Qwen Code runtime 从 Windows 的普通 files 复制路径移到 win.extraResources,和现有 Bun、Codex、uv 的 Windows workaround 保持一致。runtime 最终仍然会落在 resources/app/vendor/qwen-code,这是 desktop runtime resolver 已经会查找的 packaged 路径之一。 Why it's needed Desktop Release run https://github.com/modelstudioai/openwork/actions/runs/27131379021 只有 Windows 失败,而且 vendoring 和 build 都已经成功。electron-builder 进入 packaging 阶段后,在把 apps/electron/vendor/qwen-code/cli.js 复制到 release/win-unpacked/resources/app/vendor/qwen-code/cli.js 时失败,错误是 EBUSY: resource busy or locked。当前 config 已经为其他 vendored runtime binary 记录了同类 Windows 文件锁问题,所以 Qwen Code runtime 也应该走同样的 extraResources 路径。 Reviewer Test Plan How to verify 重新运行 Desktop Release workflow,版本填 0.0.2。Windows job 应该跑过之前 vendor/qwen-code/cli.js 的 EBUSY copy failure。macOS 和 Linux 不应该受影响,因为这次只改 electron-builder config 的 win section。 Evidence (Before & After) Before: Build Windows 在 run https://github.com/modelstudioai/openwork/actions/runs/27131379021/job/80072953167 里失败,错误是 EBUSY: resource busy or locked, copyfile ... vendor\qwen-code\cli.js ... release\win-unpacked\resources\app\vendor\qwen-code\cli.js。 After: 本地 CRAFT_BRAND=openwork bun run electron:builder-config 成功,apps/electron/electron-builder.yml 可解析为 YAML,生成配置里确认 win.files 包含 !vendor/qwen-code/**/*,win.extraResources 包含 vendor/qwen-code -> app/vendor/qwen-code,并且 git diff --check HEAD~1..HEAD 通过。 Tested on OS Status 🍏 macOS ✅ tested 🪟 Windows ⚠️ not tested locally 🐧 Linux ⚠️ not tested locally Environment (optional) 本地 macOS shell,目录 /Users/dragon/Documents/openwork;托管 Windows 失败日志通过 gh 查看。 Risk & Scope Main risk or tradeoff: Windows 上 Qwen runtime 现在走 extraResources copy path,但目标位置仍然保持在 resources/app/vendor/qwen-code,以维持 packaged runtime resolution。 Not validated / out of scope: 还没有从这个 PR 分支完整跑完一次 hosted Windows Desktop Release。 Breaking changes / migration notes: 无。 Linked Issues References https://github.com/modelstudioai/openwork/actions/runs/27131379021
Open Graph Description: What this PR does Moves the vendored Qwen Code runtime out of regular Windows files copying and into win.extraResources, matching the existing Windows workaround for Bun, Codex, and uv. The runtime...
X Description: What this PR does Moves the vendored Qwen Code runtime out of regular Windows files copying and into win.extraResources, matching the existing Windows workaround for Bun, Codex, and uv. The runtime...
Opengraph URL: https://github.com/modelstudioai/openwork/pull/9
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:06bd3d28-35e9-c380-0575-2dad2ea0b40f |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | CF94:1D5589:195306:2235F1:6A5254A4 |
| html-safe-nonce | 3450f2d85ea189b0b3e715549ae46ccd9cd59475b42a3885af602a402c3a02eb |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDRjk0OjFENTU4OToxOTUzMDY6MjIzNUYxOjZBNTI1NEE0IiwidmlzaXRvcl9pZCI6IjUyMzc3NTcwMjA2Mjc2ODY1NjQiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 6810ef0149eab97117e253ff9a1579bbddf0fac35a8f2eebd466b0452afb3ef4 |
| hovercard-subject-tag | pull_request:3822950544 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/modelstudioai/openwork/pull/9/files |
| twitter:image | https://avatars.githubusercontent.com/u/52599892?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/52599892?s=400&v=4 |
| og:image:alt | What this PR does Moves the vendored Qwen Code runtime out of regular Windows files copying and into win.extraResources, matching the existing Windows workaround for Bun, Codex, and uv. The runtime... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/modelstudioai/openwork git https://github.com/modelstudioai/openwork.git |
| octolytics-dimension-user_id | 283556804 |
| octolytics-dimension-user_login | modelstudioai |
| octolytics-dimension-repository_id | 1256697754 |
| octolytics-dimension-repository_nwo | modelstudioai/openwork |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1256697754 |
| octolytics-dimension-repository_network_root_nwo | modelstudioai/openwork |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7aed05249554b889eb33d002851a973eebcc7e91 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width