用途:为 trusty-tools 工作区提供把 Rust crate 发布到 crates.io 的完整参考流程,源自多次发布经验。
主要能力:给出固定发布顺序(check-publish-ready、预检 fmt/clippy/test、cargo publish --dry-run、打 tag、推送、preflight-publish、cargo publish、等待传播、curl 校验、二进制 cargo install --path、版本验证);要求用独立 git worktree 操作;规定依赖 crate 的发布顺序与 60-120 秒传播等待;说明 crate 名取自 Cargo.toml 的 name 字段、tag 形如 <crate>-v<version>、semver 变更规则、publish=false 检查、Elastic-2.0 需用 license-file 等。
必要用法:先运行 scripts/check-publish-ready.sh <crate> 与 scripts/preflight-publish.sh <crate>,均须通过;发布前 cargo publish --dry-run -p <crate>;禁止直接 cp 覆盖 ~/.cargo/bin 下的二进制,应用 cargo install --path crates/<dir> --locked;清理污染用 git clean -fdX。
限制:检查基于 origin/main 与推送的发布 tag,未合并分支默认不允许发布(仅 ALLOW_UNMERGED_PUBLISH=1 例外);身份检查锁定特定 gh 账号且无覆盖;dry-run 失败需先发布缺失依赖;跳过 dry-run 或从主检出发布均被禁止。资料未提供该技能的收费、平台支持范围等信息。