前言
2023年Zephyr开发者大会(ZDS)于6月27日至30日在捷克布拉格隆重举行。与以往两次不同,本次ZDS由Zephyr项目规划和管理,并作为首届嵌入式开源峰会(EOSS)的一部分进行。在这个令人期待已久的盛会中,全球Zephyr开发者们共同探讨了Zephyr实时操作系统(RTOS)的最新技术与发展趋势。作为一款开源、灵活和可扩展的嵌入式实时操作系统,Zephyr项目在2014年由英特尔发起,2016年作为Linux基金会项目正式面向公众启动,得到了全球范围内的广泛关注和采用。
ZDS 2023共70余个技术报告,涵盖了使用指导与展示、新功能与技术、架构修改与操作系统、多核异构与虚拟化、模拟器、测试、工业流程与代码管理、安全性、应用案例、工具与调试等丰富多样的内容。湖大嵌入式实验室的小伙伴们将对本次大会的所有技术报告进行逐一收集、整理与分享,尽最大努力为Zephyr开发者提供ZDS 2023技术报告的开发经验、实践成果以及解决方案的参考。
今天分享第41篇技术报告,由毕方琦整理,题目为:
“West工作流”
作者简介

Al Semjonovs,Google软件工程师
文章简介
本文主要介绍了什么是West,以及如何使用West简化开发人员的工作流程,包括工作空间设置,依赖关系管理,Twister集成,管理PR依赖关系。
什么事West
West是Zephyr的便捷命令行工具,用于同步方便用户使用
精简和简化开发人员的工作流程
工作空间设置
依赖关系管理
Twister集成
管理PR依赖关系
空间设置
目前存在的问题:设置基于Zephyr的项目需要多个步骤,参见Zephyr入门指南
预解决方案:
使用子命令:west setup
使用单个命令设置开发人员环境:
创建python虚拟环境
安装Zephyr的python依赖项
下载并安装最新的Zephyr SDK
允许此命令在特定于项目的设置中被重写
工具链依赖管理器
目前存在的问题:west安装工具无法实现实时更新
预解决方案:
覆盖west更新来处理工具链和代码
在west清单中存储工具和依赖项的当前版本
安装所需的更改
类似于当前git存储库的处理
Twister集成
目前存在的问题:由于不同版本的twister,从另一个项目调用twister可能导致不准确的测试结果
west twister
避免绕口令版本与当前正在进行的项目不匹配
利用west对当前工程进行路径识别
管理PR依赖关系
目前存在的问题:处理相互依赖的多个分支可能很难管理

例上图中如果C应该从现有的PR分离,开发人员必须创建一个分支
这样有两个问题:

West的推出
目标:改善Zephyr上游工作流程和公关管理
方案: