Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Remove retired ChromeOS and Tast integration from kernelci-core

オープン
#3,196 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
リファクタリング
明瞭さ
おおむね明確
活発さ
活発
技術スタック
docker, python

調査の方向性

cros://、Tast、指定された runtime と Docker テンプレート、rootfs の定義、ヘルパースクリプトについてリポジトリ全体を検索することから始め、kernelci/kbuild.py、kernelci/build.py、kernelci/runtime/lava.py、および参照されている設定ディレクトリを調査します。共有ファイルを削除する前に、ChromeOS 以外の利用者と外部パイプラインからの参照について maintainers に確認します。完了条件は、一覧にあるコンポーネントが廃止され、汎用的な Chromebook Linux のサポートが維持され、validation とテストが成功し、運用チェックが記録されていることです。

索引モデルが issue の本文から書いたものです。

説明

chromeos techdebt

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 from kernelci/kbuild.py, including:
    • CROS_CONFIG_URL;
    • LATEST_LTS_MAJOR and LATEST_LTS_MINOR;
    • _getcrosfragment();
    • the ChromeOS-specific defconfig and fragment branches.
  • Remove the corresponding cros:// implementation from kernelci/build.py.
  • Remove crosarch and CROS_ARCH formatting if no non-ChromeOS consumer remains.
  • Remove the unused krev formatting 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/lava path and cros-tast metadata 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-tast rootfs definition.
  • Remove the trixie-cros-ec rootfs definition and trixie-cros-ec-tests.sh unless 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-ec rootfs entry. Do not patch config/core/rootfs-images.yaml as 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_EC and CONFIG_CHROMEOS_LAPTOP when 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:

  1. 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.
  2. A lab or operations owner confirms that no ChromeOS/Tast jobs are still scheduled.
  3. 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.
  4. 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 CROS or CHROMEOS.
  • 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時間
マージ済み PR(30日)
21

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

kernelci/kernelci-core のほかの issue

kernelci/kernelci-core の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。