【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

Intel 图形库 Mesa 的持续集成

  • 2018-10-23
  • 本文字数:1288 字

    阅读完需:约 4 分钟

Mesa CI 是 Intel 的一个持续集成系统,用于运行 Mesa 图形库的构建和一致性测试套件。它运行在 200 多个系统中,每天运行数千万次测试。

Mesa 项目 OpenGL Vulkan 等图形标准的 OSS 实现。Intel 和 AMD 将其作为图形驱动程序的基础。它充当图形 API 和硬件驱动程序之间的转换层。Mesa 开发人员使用一个名为 Mesa CI 的框架进行持续集成,特别是在他们的测试套件中。Mesa 需要支持各种供应商图形驱动程序以及不同版本的API 标准。这就需要一个全面的测试套件,它需要与每个提交一起运行,以确保功能和性能。 Piglit dEQP VK-GL-CTS Crucibleare 是一些在 Mesa CI 上运行的测试套件。在最近的 X Org 开发者大会上, Mark Janes 和 Clayton Craft 分享了一些关于 Mesa CI 的细节

Mesa CI 包括一组配置文件和一个可以在 Jenkins 上运行的作业调度器及作业实现。它主要是用 Python 编写的,其原则是“把最小化 Jenkins 中的配置作为 Mesa CI 最重要的设计考虑”。根据文档,Mesa CI 理论上可以运行在任何 CI 基础设施之上,而不仅仅是 Jenkins。目前,它被用于开发测试、发布验证、Intel 驱动程序模拟器的投产前(硬件)测试、性能测试和一致性测试套件的验证。典型的开发测试周转时间是 30 分钟,即使向主分支的一次提交触发了数百万个测试。自定义数据库提供对测试历史的即时访问,系统还为公共基准测试生成性能趋势线。

Mesa CI 创建于 2014 年,但人们认识到 Mesa 自动化测试的好处比这要早。从那时起,发布过程就正规化了,并且一直在发展(PDF)。在之前的一篇文章(PDF)中,Janes 分享了为 Mesa 建立持续集成的理念。将测试作为一等工件,其中包括对测试可靠性和运行时间进行优先级排序。

 

图片来源: https://xdc2018.x.org/slides/Mesa_Continuous_Integration_at_Intel.pdf

每个平台都有一个单独的 CI 配置文件,一些测试套件需要一个单独的配置用于 32 位构建。由提交引起的测试失败会触发一系列步骤,其中一些是手动的。失败的测试被添加到 CI 配置的跳过列表中。不过,这并不是由开发人员完成的,也不知道这是否是因为测试框架没有注解测试用例而导致它们被忽略了。 JUnit NUnit 等常见测试套件都提供了这个特性。跳过列表中的测试仍然运行,但失败时不会报告。这可以避免在 Bug 修复之前损失测试覆盖率。

当在包含未修复的 Bug 的分支上开发特性时,由于 CI 配置会跟踪主分支,所以会导致构建失败。对于每个测试状态更改,Mesa CI 都会记录导致这种情况的提交。在这种情况下,由于 Bug 修复会被推送到主分支,所以当测试开始通过时,它会记录提交 id。Mesa CI 会检查特性分支是否已经修复。如果没有,它就认为测试状态是错误的,即预计测试会失败。最终,旧的稳定分支会在 Mesa CI 上运行,因为它们具有与该分支上的源代码一致的测试状态 CI 配置。但是,对于旧的分支,测试仍然会失败,测试机器上有硬件更新,而这些更新会影响所有分支。

Mesa CI 的未来计划包括在构建执行期间显示日志和组件的状态,并允许开发人员对构建进行 A/B 比较。他们还可以使用公共仪表板

查看英文原文: Continuous Integration at Intel for the Mesa Graphics Library

2018-10-23 14:341348
用户头像

发布了 1008 篇内容, 共 374.8 次阅读, 收获喜欢 341 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

为什么要上云,您的团队适合上云吗?Atlassian白皮书给你答案

龙智—DevSecOps解决方案

Atlassian atlassian云版

手把手教你如何高效落地单项目管理 | 一看既会

阿里云云效

云计算 阿里云 项目管理 敏捷开发 单项目管理

乏善可陈的Neuralink

图灵教育

易安联参编《SASE技术与应用场景白皮书》正式发布

权说安全

网络安全 sase

域成员服务器怎么会突然脱域?

BUG侦探

脱域 域信任关系 windows更新

达人专栏 | 还不会用 Apache Dolphinscheduler?大佬用时一个月写出的最全入门教程【三】

Apache DolphinScheduler

Apache 大数据 开源 DolphinScheduler workflow

市场份额不断提升,百度智能云稳居金融云解决方案市场第一阵营

百度开发者中心

企业网站该怎样选择网站域名?

源字节1号

软件开发

错过了太后悔,九大绝招大公开,详解华为低时延技术

华为云开发者联盟

云计算 音视频 华为云

关于2022年12代C/C++Linux服务器开发高级架构师课程体系分析

C++后台开发

后端开发 Linux服务器开发 C++后台开发 Linux后台开发 服务器开发架构师

如何 DIY 一款属于自己的【3D 重力感应 动态壁纸 】,看完这篇文章你也可以学会

呆呆敲代码的小Y

android Unity 壁纸 动态壁纸

《银行保险机构消费者权益保护管理办法》,如何影响行业与个人?

易观分析

金融消费

如何实现客户自助服务?打造产品知识库

小炮

知识库

如何提高团队的工作效率?

ShineScrum捷行

Scrum 敏捷 团队效率

卷入上海疫情,被封40天,我的一点心得

大数据梦想家

程序员 程序人生 疫情防控

极客星球 | 机器学习赋能商业地产决策进阶

MobTech袤博科技

一文了解游戏美术开发流程,以及可能遇到的问题

龙智—DevSecOps解决方案

perforce Helix Core Helix DAM

静亦求精,罗技MX高性能键鼠组合上市!

Geek_2d6073

打开人工智能“黑盒”,发展可解释、可扩展、可信赖、安全可靠的人工智能

博文视点Broadview

ironSource开通业内首家微信客户服务平台, 为中国客户提供本地支持

Geek_2d6073

Jira工时管理插件线上安装量过百,龙智产品赢得全球企业信赖

龙智—DevSecOps解决方案

Jira插件 龙智 龙智自研插件

百度吴甜提出大模型落地关键路径 业内首发行业大模型

百度开发者中心

EAM系统解决方案

低代码小观

资产管理 企业管理系统 企业设备管理 设备巡检管理系统 企业管理软件

ShardingSphere 在金融支付场景下的实践与调优

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

微信小程序和 uniapp 的区别是什么?

CRMEB

敏捷团队教练工作坊 (Coaching Agile Teams) | 6月11日

ShineScrum捷行

敏捷 教练 敏捷教练 cat 高管教练

数据治理项目调研环节思考

agileai

项目管理 数据中台 数据仓库 数据治理 主数据

TDengine 社区问题双周精选 | 第一期

TDengine

数据库 tdengine

物联网时代,如何保障嵌入式系统安全?

龙智—DevSecOps解决方案

klocwork perforce Helix QAC

leetcode 69. Sqrt(x) x 的平方根(简单)

okokabcd

LeetCode 查找

2022年中国互联网母婴行业年度分析

易观分析

母婴产品

Intel图形库Mesa的持续集成_DevOps & 平台工程_Hrishikesh Barua_InfoQ精选文章