Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

CI perf (coverage tradeoff): Windows-only path bugs reach main because `test (windows-latest, *)` runs only nightly

未關閉
#1,720 5 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
3/5
預估耗時
1-2 天
新手友好度
45/100
Issue 類型
重構
描述清晰度
基本清楚
活躍度
活躍
技術堆疊
github-actions, rust
領域
ci-cd

研究方向

Start in ci.yml around line 346 where the test job's Windows shards are gated by CI_SCOPE. Read the merge_group trigger and windows-compile-check step to see where to add a Windows cargo test step for socket-patch-core. Done means merge_group runs cargo test -p socket-patch-core --lib on windows-latest while keeping checks ci-ok and clippy unchanged. Validate by triggering a merge_group with a crate change.

由索引模型根據 Issue 內容生成。

描述

agent:needs-human agent:triaged ci-perf priority:p3

Filed by the CI janitor routine. This is a cost vs. coverage tradeoff, so it goes to the CI profiler/implementer and a human. The janitor didn't change CI.

Evidence

On pull_request and merge_group, the test job runs only on Linux, with macOS added on PRs. test (windows-latest, 1|2) runs only when vars.CI_SCOPE == 'full', on the nightly schedule, or on dispatch (ci.yml line 346). On merge_group, Windows gets only windows-compile-check. Windows-only test failures therefore surface after merge, on the nightly run.

Nightly CI (schedule) on main, last 7 days:

date run result Windows-only failure fix
10-24 40067511756 ❌ yarnrc::tests::global_folder_values_read_like_yarn: \${HOME} is read as absolute on Windows #1710 (open, green, waiting on review)
10-23 39907645034 ❌ governing_root::tests::vlt_project_root_governs_unlisted_directories (RUNNER~1 vs \\?\ paths); get_failure_paths::engine_nested_apply_preserves_conflicts_introduced_during_fetch; one test in the user_patches target #1686
10-22 39730006970 ❌ uv::tests::global_uv_settings_reads_the_user_then_first_system_file (/ vs \) #1663
10-21 39551481612 ✅
10-20 39376690526 ❌ (Linux, pipenv/uv: not this issue) #1716

Across 3 consecutive nights there were 5 Windows-only test regressions. Each made main red for about a day and needed its own follow-up PR plus another merge-queue trip. All of them were deterministic path-form assertions (separators, 8.3 short names, \\?\ verbatim prefixes), not flakes, so one Windows run of the changed crate's tests before merge would have caught every one.

Options (for the profiler/implementer to cost)

  1. Run cargo test -p socket-patch-core --lib on Windows in merge_group, next to windows-compile-check. It's the target that failed in 4 of the 5 cases. Its test step took 207–325 s in the failing nightlies, on top of the existing compile-check build.
  2. Use path filters to run the Windows test shards on merge_group only when crates/** changes. That is nearly every agent PR, so it would cost about as much as running them always.
  3. Keep the current setup, but add a lint or helper that rejects /-joined PathBuf expectations in tests. This is cheaper, but it only covers the separator case.

Please keep the required check names ci-ok and clippy unchanged.

主要語言
Rust
星號
8
分支
2
平均合併
19 小時 31 分鐘
30 天內合併 PR
686

環境準備

  • 沒有 Dockerfile 或 Docker Compose 檔案
  • 沒有 Pull Request 範本
  • 閱讀貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

SocketDev/socket-patch 的其他 Issue

查看 SocketDev/socket-patch 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。