写点什么

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:341805
用户头像

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

关注

评论 1 条评论

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

数据库迁移系列】从MySQL到openGauss的数据库对象迁移实践

daydayup

“数智新应用”不再是口号,看汽车、医药、制造企业如何突出重围?

Kyligence

数智化转型

活动预告 | 中国数据库联盟(ACDU)中国行第二站定档杭州,邀您探讨数据库技术与实践!

墨天轮

数据库 oracle postgresql AntDB oceanbase

金奖方案 | 一专多能、傲视寰宇,南大通用GBase8c数据库牛在哪里?

daydayup

重磅更新 | 大幅提升数据集命中预期;AI 联网搜索能力也来了!

Dify

AI技术 开源软件 LLMOps

JMeter笔记17 | JMeter逻辑控制器简介

测试 单元测试 Jmeter 性能测试 接口测试

语义检索系统:基于无监督预训练语义索引召回:SimCSE、Diffcse

汀丶人工智能

自然语言处理 nlp 向量检索 语义检索 搜索推荐系统

2023-08-02:给定一棵树,一共有n个点, 每个点上没有值,请把1~n这些数字,不重复的分配到二叉树上, 做到 : 奇数层节点的值总和 与 偶数层节点的值总和 相差不超过1。 返回奇数层节点分配

福大大架构师每日一题

福大大架构师每日一题

Sprint Boot学习路线4

小万哥

Java spring 微服务 Spring Cloud Spring Boot

文本 Embedding 基本概念和应用实现原理

Dify

技术分享 Embedding word embedding

面部表情识别的挑战和前景

数据堂

语义检索系统之排序模块:基于ERNIE-Gram的Pair-wise和基于RocketQA的CrossEncoder训练的单塔模型

汀丶人工智能

人工智能 自然语言处理 排序算法 语义搜索 搜索推荐系统

openGauss内核荣获中国首个国际CC EAL4+级别认证

daydayup

openGauss数据库从3.0.0升级到3.1.0操作实践

daydayup

基于无监督训练SimCSE+In-batch Negatives策略有监督训练的语义索引召回

汀丶人工智能

人工智能 自然语言处理 语义搜索 搜索推荐系统

既要增长又要人效,零售人准备好接受老板的灵魂拷问了吗

Kyligence

数据分析 零售行业

openGauss的SQL引擎在3.1.0版本中做了哪些优化?

daydayup

openGauss内核分析(二.二):简单查询的执行

daydayup

Dify.AI 用户直面会总结:Embedding 技术与 Dify 数据集设计/规划

Dify

开源项目 AI技术实践 LLMOps

AI大模型之花,绽放在鸿蒙沃土

脑极体

鸿蒙 AI

openGauss内核分析(二.一):简单查询的执行

daydayup

这个Python项目让古诗变得更易读,看完《长安三万里》惊艳了!

程序员晚枫

Python 拼音 长安三万里 古诗词

Amazon Aurora Serverless v2 正式发布:针对要求苛刻的工作负载的即时扩展

亚马逊云科技 (Amazon Web Services)

MySQL

阿里云出品—高分计算机好书推荐榜

穿过生命散发芬芳

计算机图书

openGauss —— 智能优化器之基数估计

daydayup

openGauss赋能企业核心场景应用 | 华为全联接大会2022专题回顾

daydayup

java代码加壳加密工具 jar-protect

车江毅

如何利用 AI 在 5 分钟批量产出 100 篇 SEO 文章?

Dify

批量任务 SEO AI技术实践 LLMOps

语义检索系统:基于Milvus 搭建召回系统抽取向量进行检索,加速索引

汀丶人工智能

自然语言处理 nlp 搜索推荐系统 语义搜索系统 向量搜索

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