Skip to content

Component Build ​

组件构建工作流,根据变更的路径智能构建相关组件。

文件 ​

.github/workflows/ci-build.yml

触发条件 ​

事件条件
pull_requestPR 打开或更新到 main 分支
push推送到 main 分支
workflow_dispatch手动触发

路径检测规则 ​

变更路径触发的构建
patches/uboot/**、patches/uboot-imx/**U-Boot
scripts/build_helper/build-uboot.shU-Boot
patches/linux_mainline/**Linux (Mainline)
scripts/build_helper/build-linux.shLinux (Mainline)
driver/**驱动示例
scripts/**所有构建
.github/workflows/**所有构建

包含的 Jobs ​

detect - 路径检测 ​

使用 dorny/paths-filter@v2 检测变更路径,输出布尔值给后续 Job 使用。

uboot - U-Boot 构建 ​

  • 超时:12 分钟
  • 产物:out/uboot/u-boot-dtb.imx
  • 保留期:7 天

linux - Linux (Mainline) 构建 ​

  • 超时:18 分钟
  • 产物:zImage
  • 保留期:7 天
  • 与 U-Boot 等其他组件 job 并行运行

drivers - 驱动构建 ​

  • 超时:8 分钟
  • 构建驱动示例(非阻塞)

预计时间 ​

场景时间
单个组件8-18 分钟
全部组件~20 分钟

缓存策略 ​

  • Docker 层缓存:基于 docker/Dockerfile 的 hash
  • 不缓存构建产物(保守策略)

并行执行 ​

U-Boot、Linux (Mainline)、Drivers 各 job 由路径检测结果触发,相互并行运行,充分利用 CI 资源。内核只有 Linux (Mainline) 一个 job,没有第二个内核轨的构建。

v1.0.4-37-gc79a127 · c79a127 · 2026-09-29