亲爱的GitHub:请不要使用YAML锚点
Hacker News 摘要原标题:Dear GitHub: no YAML anchors, please
这篇文章的标题为《亲爱的GitHub:请不要使用YAML锚点》,作者对GitHub最近在其Actions功能中引入YAML锚点表示强烈反对。
文章简要概述了YAML锚点在GitHub Actions中的引入及其潜在问题。作者认为,尽管YAML锚点表面上似乎是一个合理的特性,可以减少重复性,但实际上它们带来了许多负面影响:
1. 冗余性:YAML锚点与GitHub Actions中已有的功能重复,可以用更明确的机制来减少代码重复,使用锚点实际上使得工作流程不够清晰。
2. 复杂性:引入YAML锚点使得数据模型变得复杂,这对人类和机器理解CI/CD流程造成了困难。作者指出,工作流和步骤的理解将变得更加困难,因为一个工作单元可能依赖于文件中其他任何远离的单元。
3. 唯一性缺失:虽然YAML锚点的一些场景可以提供独特的用法,但GitHub并未支持其中一个特别的重要特性——合并键(merge keys),使得YAML锚点在GitHub Actions中的使用实际上并无特殊价值。
作者详细探讨了YAML锚点在GitHub Actions中的具体实现,指出其实现的不完整性,导致在某些小场景下锚点依旧难以使用。文章还讨论了这种做法对工具开发者的影响,例如静态分析工具的维护者们将面临更大的挑战。
最后,作者呼吁GitHub立即撤销对YAML锚点的支持,认为此举不仅可以减少用户的困扰,还可以降低GitHub Actions的整体复杂性,进而使得其更易于分析和使用。整篇文章表达了对GitHub Actions当前方向的深切担忧,并认为这样的变化会对开源生态系统的正确性和安全性分析造成冲击。
原文:https://blog.yossarian.net/2025/09/22/dear-github-no-yaml-anchors