Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Installers: shellcheck fails on the BReg, Casework, and evidencectl installers

未关闭 适合新手
#1,874 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
86/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
bash, shell
领域
release, tooling

调研方向

将 crates/registry-breg/install.sh、crates/registry-casework/install.sh 和 crates/registry-evidencectl/install.sh 中标记的语句与 crates/registry-scheduling/install.sh 中的修正形式进行比较。在五个 crates/*/install.sh 文件和 editors/install.sh 上运行 shellcheck,然后运行 release/scripts/test_macos_installers.py、release/scripts/test_nightly_release.py 以及 crate install_script 测试;所有检查都通过即表示完成。

由索引模型根据 Issue 内容生成。

描述

area:release bug

What

shellcheck exits non-zero on three of the four product installers on main (checked 2026-10-03), with the same two warnings in each:

File SC2034 SC2155
crates/registry-breg/install.sh line 329 line 500
crates/registry-casework/install.sh line 327 line 498
crates/registry-evidencectl/install.sh line 333 line 515
  • SC2034: IFS=. read -r release_major release_minor release_patch <<<"${version#v}" reads release_patch and never uses it.
  • SC2155: local archive="$tmpdir/$(asset_name "$binary")" declares and assigns in one statement, so a failing asset_name is masked by local's own exit status and set -e does not stop the script.

crates/registry-scheduling/install.sh and editors/install.sh pass. The Scheduling installer has the same two statements in the corrected form, from #1854:

IFS=. read -r release_major release_minor _ <<<"${version#v}"
local archive
archive="$tmpdir/$(asset_name "$binary")"

Both lines are hand-written; neither sits inside the blocks generated by release/scripts/render-installer-channel.py or release/scripts/render-installer-libc-preflight.py.

Why it is filed rather than fixed

It was found while changing the Scheduling installer in #1854, and the other three installers were outside that change.

No workflow under .github/workflows runs shellcheck, which is how the installers drifted apart. Whether to add a gate is a separate decision from the two-line fix, so it is listed as optional below.

Done when

  • shellcheck passes on all five crates/*/install.sh files and editors/install.sh.
  • The installer test suites still pass (release/scripts/test_macos_installers.py, release/scripts/test_nightly_release.py, and each crate's install_script tests).
  • Optional: a CI step runs shellcheck on the installers so the next copy does not drift.
主要语言
Rust
星标
2
派生
0
平均合并
9 小时 14 分钟
30 天内合并 PR
241

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

registrystack/registry-stack 的其他 Issue

查看 registrystack/registry-stack 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。