Skip to content

ci(validate): tools/ 改动不再强制全量 workspace 构建#112

Merged
Sunrisepeak merged 1 commit into
mainfrom
ci/selective-members
Jul 21, 2026
Merged

ci(validate): tools/ 改动不再强制全量 workspace 构建#112
Sunrisepeak merged 1 commit into
mainfrom
ci/selective-members

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

问题

validate.yml 的 "Select affected workspace members" 已经实现了按改动范围挑选成员,但兜底规则里 tools/* 会强制全量:

case "$f" in
  .github/workflows/validate.yml|tests/*.sh|tools/*) full "$f" ;;

#111(opencv 单仓库化)只是删了 tools/compat-opencv/(退役的描述符生成流水线),就把整个 workspace 在三个平台上全量重跑了一遍——其中包含 ffmpeg 与 OpenCV 的冷构建。

改动

tools/ 下全是离线的描述符生成与发布辅助(tools/compat-*/tools/gtc/publish_mcpp_index.sh),不参与任何包的构建。它们真正影响到某个包时,生成出的 pkgs/*.lua 会随之变化,而 pkgs/*.lua 那条规则已经能精确选中相关成员。因此把 tools/* 归入与 docs/ 相同的"不选任何成员"分支。

validate.ymltests/*.sh 仍然强制全量:前者携带 mcpp 版本 pin,后者是共享测试脚本。

顺带更新 workspace job 的 timeout 说明:compat.opencv 退役后,冷构建的三个 OpenCV 变体来自 opencv-module{,-dnn,-unifont} 三个成员。

说明

本 PR 自身改的就是 validate.yml,所以这一次仍然是全量运行;收益从下一个 PR 开始。建议先合本 PR,再让 #111 rebase,#111 就能只跑 opencv 相关成员。

tools/ 下是离线的描述符生成与发布辅助(tools/compat-*/、tools/gtc/、
publish_mcpp_index.sh),不参与任何包的构建。它们真正影响到某个包时,
生成出的 pkgs/*.lua 会一并变化,而 pkgs 规则已经能精确选中相关成员,
因此 tools/ 单独改动按 docs 处理、不选任何成员。

同时更新 workspace job 的 timeout 说明:compat.opencv 退役后,冷构建的
三个 OpenCV 变体来自 opencv-module{,-dnn,-unifont} 三个成员。
@Sunrisepeak
Sunrisepeak merged commit 732a8c7 into main Jul 21, 2026
1 of 5 checks passed
@Sunrisepeak
Sunrisepeak deleted the ci/selective-members branch July 21, 2026 13:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant