Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
变更描述
cargo-deny的 advisory 门禁在无人改代码的情况下变红了:RustSec 于 2026-09-14 发布RUSTSEC-2026-0285(rustls < 0.23.45),
而锁文件里是 rustls 0.23.40。cargo-deny 每次运行都会重新拉 advisory DB,于是基于
main的所有 PR 一起红——包括 #27~#30 这批根本不碰
Cargo.lock的 actions bump,也包括本 PR 之前main上的 push CI(run 35439175140,2026-09-19T11:05:58Z)。所以这不是任何一个 PR 的问题。四笔提交:
fix(deps):cargo update -p rustls --precise 0.23.45,连带rustls-webpki0.103.13→0.103.15、aws-lc-rs1.17.0→1.18.1、aws-lc-sys0.41.0→0.45.0(0.23.45 依赖下限的要求)。锁文件共 4 个包、9 增 8 删。chore(deny):移除已失效的RUSTSEC-2026-0098/0099/0104。它们针对 rustls-webpki 0.101,而该版本早已不在依赖图里,现在只会报
warning[advisory-not-detected];同时把"出现该警告就删条目"写成维护规则,并修掉
unmaintained注释里已经过时的 crate 名单。ci(deny):新增Deny driftworkflow,每周(+ 手动)在dev上单独跑一次同一份 cargo-deny,漂移时开 issue 并让 run 变红。目标是让这类上游漂移先在 dev 自己的定时任务上暴露,
而不是在几十个无关 PR 上重复红。(GitHub 的 schedule 只在默认分支生效,所以它要进 main 才会自动跑。)
ci(deps):.github/dependabot.yml两个 ecosystem 显式加target-branch: dev。不写时 dependabot打默认分支,bump 直接落在
main上——这正是上面那批 PR 与 main 门禁错位的原因。dependabot 只读默认分支上的这份配置,所以它必须随本 PR 进 main 才会生效。
为什么 base 选
main而不是dev9 个 dependabot PR 的 base 都是
main(dependabot 默认目标=仓库默认分支),必需检查跑在main + PR的 merge commit 上,因此只有main变绿才能解锁它们。本 PR 合并后请按CONTRIBUTING.md的发布流程把main合回dev,dev 也就同步拿到了这四笔改动。测试
cargo deny check(cargo-deny 0.20.2,与 CI action 同版本 + 最新 advisory DB):advisories ok, bans ok, licenses ok, sources ok,且不再有advisory-not-detected警告python3 scripts/check_encoding.py:PASS (260 files)Security (cargo-deny)pass、Mutants (PR diff)pass(第 4 笔提交前的 head);三平台 Test 由 CI 执行Cargo.lock的 4 个补丁级升级、deny.toml、一个 workflow、dependabot 配置与文档),唯一需要真编译验证的是
aws-lc-sys0.45.0 的 C/asm 构建关联 Issue
无。本 PR 解开的是 dependabot PR #27~#35 的共同红灯(它们各自都没问题,合并后需要
@dependabot rebase或重跑检查,因为 dev/main 前进不会自动重跑它们的必需检查)。