Remove retired ChromeOS and Tast integration from kernelci-core
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 重构
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- docker, python
- 领域
- build-system, devops, testing
调研方向
先在整个仓库中搜索 cros://、Tast、指定的 runtime、Docker 模板、rootfs 定义和辅助脚本,然后检查 kernelci/kbuild.py、kernelci/build.py、kernelci/runtime/lava.py 以及所引用的配置目录。在删除共享文件之前,与维护者确认不存在非 ChromeOS 的使用方和外部 pipeline 引用;完成的标准是:列出的组件已退役,通用 Chromebook Linux 支持仍然保留,验证和测试通过,并且操作检查已记录。
由索引模型根据 Issue 内容生成。
描述
Context
KernelCI no longer intends to maintain ChromeOS-specific build and test coverage in kernelci-core.
The legacy ChromiumOS rootfs builder was removed in commit b1e2f162, but a substantial part of the integration remains. This includes ChromeOS configuration downloads in the kernel builders, Tast and ChromeOS LAVA templates, dedicated Docker images, Debos rootfs variants, parsers, flashing helpers, and compatibility mappings.
These remaining components should be retired instead of updating the hard-coded ChromeOS LTS fallback or continuing to maintain unused external dependencies.
Goal
Remove the dedicated ChromeOS and Tast integration from kernelci-core while preserving generic Linux support for Chromebook hardware where it is still used by normal KernelCI jobs.
The cleanup should leave no active configuration capable of scheduling a ChromeOS/Tast job or building a ChromeOS-specific image.
Repository cleanup
Kernel build support
- Remove the
cros://configuration-fragment implementation fromkernelci/kbuild.py, including:CROS_CONFIG_URL;LATEST_LTS_MAJORandLATEST_LTS_MINOR;_getcrosfragment();- the ChromeOS-specific defconfig and fragment branches.
- Remove the corresponding
cros://implementation fromkernelci/build.py. - Remove
crosarchandCROS_ARCHformatting if no non-ChromeOS consumer remains. - Remove the unused
krevformatting argument if no non-ChromeOS configuration uses it. - Remove ChromeOS-only shortening rules from
kernelci/test.py.
Runtime and result handling
- Remove
config/runtime/chromeos/base.jinja2. - Remove the dedicated test templates:
config/runtime/tests/tast.jinja2;config/runtime/tests/tast-debian.jinja2;config/runtime/tests/fluster-chromeos.jinja2.
- Remove Tast-only result parsing from
kernelci/runtime/lava.py. - Replace ChromeOS/Tast-specific examples in otherwise generic API model descriptions.
- Keep
config/runtime/tests/blktests-ddp.jinja2, but remove its copied/home/cros/lavapath andcros-tastmetadata if the template is still active.
Docker definitions and helper data
Remove the dedicated or orphaned ChromeOS Docker definitions:
config/docker/cros-baseline.jinja2;config/docker/cros-qemu-modules.jinja2;config/docker/cros-sdk.jinja2;config/docker/cros-tast.jinja2;config/docker/fragment/cros-lava.jinja2;config/docker/fragment/gsutil.jinja2, if it has no remaining consumer.
Remove helper data used only by those images or templates, including:
config/docker/data/add_modules.sh;config/docker/data/tast_parser.py;config/docker/data/gcov_pack.sh;config/docker/data/gcov_reset.sh;config/docker/data/ssh_retry.sh.
Before deleting a helper with a generic filename, verify with a repository-wide search that it has no non-ChromeOS consumer.
Rootfs definitions, scripts, and overlays
- Remove the
trixie-tastrootfs definition. - Remove the
trixie-cros-ecrootfs definition andtrixie-cros-ec-tests.shunless a maintainer explicitly identifies an active, non-ChromeOS user that should be split into a separately named rootfs. - Remove the Tast build script and overlay:
config/rootfs/debos/scripts/trixie-tast.sh;config/rootfs/debos/overlays/tast/.
- Remove the orphaned ChromeOS flashing support:
config/rootfs/debos/scripts/trixie-cros-flash.sh;config/rootfs/debos/overlays/cros-flash/.
- Review the legacy/generated
bookworm-cros-ecrootfs entry. Do not patchconfig/core/rootfs-images.yamlas an ordinary source file; use the maintainer-approved legacy retirement or regeneration procedure.
Documentation and tests
- Remove or update obsolete ChromeOS/Tast examples in maintained documentation and test fixtures.
- Add regression checks that reject references to removed rootfs names, templates, Docker definitions, and
cros://fragments. - Keep ordinary Linux kernel configuration symbols such as
CONFIG_CROS_ECandCONFIG_CHROMEOS_LAPTOPwhen they are required to test Chromebook hardware with mainline Linux.
Cross-repository and operational cleanup
Repository automation cannot determine whether external production systems still reference these names. Before merging the final removal:
- A KernelCI maintainer checks active configuration in
kernelci-pipeline, deployment repositories, scheduled workflows, and lab configuration for references to the removed templates, rootfs variants, and Docker images. - A lab or operations owner confirms that no ChromeOS/Tast jobs are still scheduled.
- A maintainer decides whether published ChromeOS rootfs artifacts and container images should be retained as historical artifacts, archived, or deleted. External artifacts must not be deleted solely as part of the code cleanup PR.
- Any scheduled image builds or publication jobs are disabled before their source definitions are removed.
Record the outcome of these checks in this issue.
Existing issues to triage after retirement
The following open issues appear to become obsolete when ChromeOS testing is retired and should be reviewed, commented on, and closed as appropriate:
- #1691
- #1692
- #1760
- #1917
- #1960
- #2181
- #2813
#1690 concerns physical Chromebook hardware and should be reviewed separately because the devices may still be useful for non-ChromeOS mainline Linux testing.
Generic work such as #2464 should remain open if it still applies to non-ChromeOS operating systems.
After the issue backlog is cleaned up, maintainers should decide whether the chromeos, chromeos roadmap, and staging:chromeos labels are still needed.
Acceptance criteria
- No active KernelCI configuration builds or schedules ChromeOS or Tast jobs.
cros://build-fragment support and the hard-coded latest-LTS fallback are removed.- Dedicated ChromeOS/Tast runtime templates, Docker definitions, rootfs definitions, scripts, overlays, and parsers are removed.
- Shared files are deleted only after confirming that they have no non-ChromeOS consumers.
- Generic mainline-Linux support for Chromebook hardware is either retained or its removal is explicitly approved by the relevant hardware owner.
- Maintainers confirm that deployment and pipeline repositories no longer reference the removed components.
- The disposition of previously published rootfs and container images is documented.
- Obsolete ChromeOS issues are commented on and closed after the retirement lands.
- Configuration validation, template tests, and the full repository test suite pass.
Out of scope
- Removing generic Linux drivers or kernel configuration symbols for Chromebook hardware merely because their names contain
CROSorCHROMEOS. - Decommissioning physical lab devices that can still run non-ChromeOS KernelCI tests.
- Deleting published artifacts or container images without an explicit operations-owner decision.
- Replacing ChromeOS/Tast coverage with a different test system as part of the same change.
- 主要语言
- Python
- 星标
- 120
- 派生
- 108
- 平均合并
- 1 天 12 小时
- 30 天内合并 PR
- 21
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
kernelci/kernelci-core 的其他 Issue
-
good first issue
难度 2/5 1-3 小时 新手友好度 72/100
kernelci/kernelci-core#2591 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 25/100
kernelci/kernelci-core#3234 ·
维护者通常 1 天内回复
-
good first issue techdebt
难度 5/5 一周以上 新手友好度 35/100
kernelci/kernelci-core#3197 · 3 条评论 ·
维护者通常 1 天内回复
-
kubernetes runners missing logs and test naming wrong可能重新可做 @nuclearcat 于 67 天前认领,目前没有进行中的 PR。 未关闭
kernelci/kernelci-core#3170 · 2 条评论 · 1 个 reaction · 已指派 1 人 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 20/100
kernelci/kernelci-core#3131 · 3 条评论 ·
维护者通常 1 天内回复
查看 kernelci/kernelci-core 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 3 天内回复
-
难度 2/5 1-3 小时 新手友好度 88/100
modelcontextprotocol/python-sdk#3648 ·
维护者通常 1 天内回复
-
docs good first issue
难度 2/5 1-3 小时 新手友好度 78/100
VenetoStato/giorgio#6 ·
-
难度 1/5 1 小时以内 新手友好度 70/100
EclipseFdn/open-vsx.org#13831 ·
维护者通常 1 天内回复
-
feature request
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 2 天内回复