会议由 shepmaster 主持。会议记录由 pietroalbini 撰写。
出席人员:aidanhs,alexcrichton,kennytm,Mark-Simulacrum,pietroalbini,shepmaster
对话开始
移除 MSYS2 ca-certificates 变通方案(P-高优先级问题)
几周前,由于 ca-certificates
MSYS2 包损坏,导致我们的 CI 中断,所有 Windows 构建器都失败了。临时补丁是安装该包的供应商副本,由于不再需要它,pietroalbini 本周提交了一个 PR,从我们的 CI 配置中删除了该 hack。
该问题的另一部分是弄清楚是否要将 MSYS2 和 MinGW 作为整体进行供应商化,但存在保持镜像更新的问题,我们目前还不清楚如何解决。我们决定将问题降级为 P-中等优先级,并在 2020 年全体会议上讨论镜像和供应商化的问题。为准备该会议,审核我们目前镜像的内容以及镜像的时间有多久将很有用,但这并不紧急,目前没有人有时间处理。
弄清楚 Azure Pipelines 上的数据保留策略(P-中等优先级问题)
这还不是一个问题,因为当前的保留策略配置为 2 年。我们正在等待与 Microsoft 进行一些谈判,然后再开始再次询问人们这个问题。
在慢速构建器上重新启用 LLVM/debug 断言(P-中等优先级问题)
我们仍然没有时间预算来重新启用它们,但是增加核心数应该允许我们这样做。
用于性能测试的新服务器
alexcrichton 从 Hetzner 订购了一台 AX41-NVMe 裸机服务器,作为性能测试的替代基准测试机,由 Mozilla 支付。我们正在等待 Hetzner 允许我们访问它,然后 simulacrum 才能尝试并配置它。如果几天内我们没有获得访问权限,alexcrichton 将会联系他们。
static.rust-lang.org 的生命周期策略
static.rust-lang.org 由 S3 存储桶支持,自 2016 年以来,存储桶已启用版本控制,以防止意外文件删除的问题。但是,该存储桶中的某些文件每天都会被覆盖(例如 nightly 编译器),从而保留了一堆过去的版本。这些过去的版本毫无用处,因为没有简单的方法可以从 CDN 获取它们,并且这些文件也单独存储在该存储桶的其他位置。大家都同意我们应该启用生命周期策略来删除这些无用的文件,并且我们达成了共识,在三个月后删除它们。这不会被最终用户注意到,按日期安装旧的 nightly 版本仍然可以工作。
如何处理 rust-lang-ci S3 存储桶
rust-lang-ci
是一个非常旧且目前未使用的 S3 存储桶,用于在我们将 CI 工件迁移到 rust-lang-ci2
之前存储 CI 工件。那里仍然有一些文件,因此我们启用存储桶日志记录一个月,以查看访问那里的文件的频率。
结果证明,我们一个月内总共有 86 个成功的请求,分为
- 69 个请求访问 1.14.0 的 cargo 构建
- 17 个请求访问旧的 CI 镜像
由于流量较低,我们决定删除这些旧的 CI 镜像,但对于 cargo 构建,问题更加复杂。由于当时清单生成中的一个错误,从 rustup 安装 Rust 1.14.0 实际上是从存储桶而不是 CDN 下载 Cargo,删除这些文件将永久破坏 Rust 1.14.0 的安装。团队内部就此问题存在分歧,我们达成决定,等待 pietroalbini 调查在 S3 中配置重定向是否可行。
关于 pietroalbini 的 WIP ci-generate 分支的早期反馈
pietroalbini 正在开发一个分支,该分支使用简化的自定义 DSL 实现我们 CI 配置的生成器(分支 - 文档)。虽然生成器对我们有一些小的益处,但该分支创建的主要驱动力是为了解决 GitHub Actions 配置语法中的一些限制,即缺少可导入的模板。没有时间进行适当的讨论,因此我们推迟到下周。
重新审视会议轮流主持制度
一个月前,我们开始轮流主持会议,打算今天重新审视该决定。团队对这个想法感觉中立或积极,因此我们将继续这样做一段时间。aidanhs 将主持下一次会议。