Garnix突然宣布shutdown,Nix社区不少项目的build badge直接变灰。表面看是迁移麻烦,实则暴露了开源CI里"托管即信任"的脆弱契约。
Nix整天吹reproducible build,结果真到CI这层,多少项目把流水线完全外包给第三方?Garnix一关,缓存失效、签名链断裂,历史release能不能复现都得打问号。这就像你本地代码再干净,debug环境却跑在别人的远程桌面上——hermetic了个寂寞。
要我说,CI逻辑根本不该是SaaS的附属品。我们需要可版本化、可本地执行的轻量CI原语,最好能直接用Nix表达式描述pipeline,让build步骤成为repo里的一等构件。托管商跑路?无所谓,nix run照样能完整跑通。
你现在把CI pipeline拔了网线,还能build出来吗?