Skip to content

fix: 板子锁 ID 用 per-board 默认,容器名自动拼入 org/repo#4

Open
yoinspiration wants to merge 1 commit intoarceos-hypervisor:mainfrom
yoinspiration:feat/runner-wrapper-multi-org-lock
Open

fix: 板子锁 ID 用 per-board 默认,容器名自动拼入 org/repo#4
yoinspiration wants to merge 1 commit intoarceos-hypervisor:mainfrom
yoinspiration:feat/runner-wrapper-multi-org-lock

Conversation

@yoinspiration
Copy link
Contributor

背景

按审核意见完善以下两点。

1. 硬件开发板锁 ID:有定义用定义的,否则用默认值

  • 问题:原先 RUNNER_RESOURCE_ID_PHYTIUMPI 未设置时回退到 RUNNER_RESOURCE_ID,所有板子共一把锁,导致无法并行。
  • 改动:板子级变量未设置时使用该板默认值,不再回退到全局 RUNNER_RESOURCE_ID
    • phytiumpi 默认:board-phytiumpi
    • roc-rk3568-pc 默认:board-roc-rk3568-pc
  • 效果:不同板子可并行;多组织共享同一块板时,为该板显式设置相同 ID 即可串行。

2. 容器命名:主机名 + org(+ repo)+ runner_xxx

  • 问题:默认 主机名+runner_xxx,多副本执行时容器重名。
  • 改动:未设置 RUNNER_NAME_PREFIX 时自动拼入 ORG/REPO:
    • 组织级:<hostname>-<org>-runner-xxx
    • 仓库级:<hostname>-<org>-<repo>-runner-xxx
  • 显式设置:用户设置 RUNNER_NAME_PREFIX 时以该值为前缀(如 custom → 容器名 custom-runner-1);未以 - 结尾时脚本会自动补上。
  • 效果:同一主机多组织/多仓库副本时容器名不冲突;脚本仍同时支持组织级与仓库级 Runner。

其他

  • compose 无现有容器时 generic_count 下限为 0,避免出现 “-2 existing runners”。
  • 新增 verify-changes.sh 用于回归验证上述逻辑(可选运行 ./verify-changes.sh)。
  • README / .env.example / help 中补充了容器名前缀与显式设置 RUNNER_NAME_PREFIX 的说明。

验证

  • 已运行 ./verify-changes.sh 通过。
  • 已用 ./runner.sh compose 生成 docker-compose.yml,确认板子锁 ID 与 container_name 符合预期。

- 板子锁 ID:有定义用定义的,否则用该板默认值(board-phytiumpi/board-roc-rk3568-pc),不再回退到 RUNNER_RESOURCE_ID
- 容器名前缀:未设置时自动拼入 ORG/REPO(hostname-org- 或 hostname-org-repo-),避免多副本重名
- compose:无现有容器时 generic_count 下限为 0,避免出现 -2
- 新增 verify-changes.sh 用于回归验证上述逻辑
- 更新 .env.example、README/README_CN 说明

Co-authored-by: Cursor <cursoragent@cursor.com>
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