rust.sh shares one CARGO_TARGET_DIR across worktrees, so a scratch-copy build poisons the next run
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 68/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 领域
- build-system, tooling
调研方向
从 scripts/rust.sh 开始,检查它如何设置 CARGO_TARGET_DIR 并挂载源代码。按描述先用临时副本进行构建,再在 worktree 中运行,重现这一过程,然后评估两种拟议修复中哪一种适合该脚本。完成标准是下次在 worktree 中运行时不再使用过时的构建产物,或者脚本清楚地说明所需的源代码改动;重新运行受影响的测试套件以确认。
由索引模型根据 Issue 内容生成。
描述
scripts/rust.sh runs every build in one container with CARGO_TARGET_DIR=/target and the source mounted at /work/nostream. A build of a scratch copy of the tree — the shape a reviewer uses to prove a fix by reverting it — writes into that same target directory, and the next worktree run then reads artifacts keyed to the scratch path.
Measured during the 4.0 rewrite (006-nostream-core, round 3): a revert build followed by the worktree suite gave 51 passed / 2 failed; touch-ing the affected sources and re-running gave 53 passed / 0 failed, with no source change. The failures were stale artifacts, not defects.
Two candidate fixes:
- Isolate the target for a scratch run: pass
CARGO_TARGET_DIR=/target-$(basename "$PWD")(or a caller-suppliedCARGO_TARGET_DIR) instead of a single shared/target. - Keep the shared target and document the requirement in the script header: after building anything outside the job worktree,
touchthe sources before the next worktree run.
(2) is a one-line comment; (1) costs a cold build per distinct path but removes the trap. The reviewer that hit it lost one round-trip and nearly reported a regression that did not exist.
- 主要语言
- TypeScript
- 星标
- 829
- 派生
- 234
- 平均合并
- 17 小时 46 分钟
- 30 天内合并 PR
- 73
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
cameri/nostream 的其他 Issue
-
Website
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复
-
feat(payments): subscription lifecycle, renewal invoices and plan-based write access可能已有人在做 @Priyanshubhartistm 于 1 天前认领。 未关闭enhancement
cameri/nostream#908 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Three repositories have no unit tests (notification-outbox, notification-delivery-log, nip05-verification)可能已有人在做 @Priyanshubhartistm 今天认领。 未关闭
难度 4/5 3-5 天 新手友好度 72/100
cameri/nostream#905 · 已指派 1 人 ·
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 72/100
维护者通常 1 天内回复
-
No unit tests for four of six payment processors (nodeless, lnurl, opennode, zebedee)可能已有人在做 @Priyanshubhartistm 今天认领。 未关闭
难度 3/5 1-2 天 新手友好度 72/100
cameri/nostream#903 · 已指派 1 人 ·
维护者通常 1 天内回复
相似的 Issue
-
Area/Cloud Needs Triage Type/Bug
难度 1/5 1-3 小时 新手友好度 86/100
wso2/product-integrator#2847 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 67/100
bluesky-social/social-app#12118 ·
维护者通常 1 天内回复
-
enhancement
难度 1/5 1 小时以内 新手友好度 85/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 77/100
heygen-com/hyperframes#6021 ·
维护者通常 1 天内回复
-
check:passed streams:edit
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复