Skip to content

feat(lib): GitHub Actions Ubuntu 24.04互換パッケージリストを追加#599

Merged
ncaq merged 7 commits intomasterfrom
github-actions-runner-compatible-packages
Feb 18, 2026
Merged

feat(lib): GitHub Actions Ubuntu 24.04互換パッケージリストを追加#599
ncaq merged 7 commits intomasterfrom
github-actions-runner-compatible-packages

Conversation

@ncaq
Copy link
Owner

@ncaq ncaq commented Feb 18, 2026

#540
を実装するために、
先に概ね互換性のあるパッケージリストを生成しておきます。
大量にありますが、足りなくて苦労するより少し待つ方が楽です。
どうせhome-managerやNixOSのビルドの方が時間がかかりますし。

@ncaq ncaq self-assigned this Feb 18, 2026
@ncaq ncaq added the Type: Feature New Feature label Feb 18, 2026
Copilot AI review requested due to automatic review settings February 18, 2026 05:02
@ncaq ncaq added Type: CI Changes to CI configuration files and scripts Type: Dependencies Dependency issues or Changes to dependency files labels Feb 18, 2026
- Ubuntu 24.04ランナーに含まれる主要な言語・ツールのNixパッケージを定義
- バージョンはnixpkgsリビジョン依存で完全一致ではない
- Android SDKや一部unfreeパッケージは除外
- セクションごとに用途別リストを提供
@ncaq ncaq force-pushed the github-actions-runner-compatible-packages branch from fb24b3f to f38a5ef Compare February 18, 2026 05:03
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

GitHub Actions の Ubuntu 24.04 ランナー環境に概ね合わせた Nix パッケージ一覧を lib/ に追加し、セルフホストランナー構築 (#540) の下準備として利用できるようにする変更です。

Changes:

  • Ubuntu 24.04 runner-images の Readme を参照した互換パッケージリストを新規追加
  • 用途別カテゴリ (language/runtime, devops, cli, browsers, DB など) と、それらを結合した all を提供

@claude
Copy link
Contributor

claude bot commented Feb 18, 2026

レビュー所見

全体的によく整理されたパッケージリストです。カテゴリ分けがGitHub Actionsランナーイメージのドキュメント構成に対応しており追跡しやすく、除外理由のコメントも丁寧で将来のメンテナンス時に有用です。allと個別カテゴリの両方をエクスポートしている設計も柔軟性があり良いです。

評価チェックの不在について

現時点でこのファイルはflake.nixのどこからもimportされておらず、nix-fast-build --no-nomでもこのファイル内のパッケージ名は評価されません。PR説明にある通り後続PRでの統合が前提であることは理解していますが、マージ時点でパッケージ名の存在確認ができない状態です。

nixpkgsの更新でパッケージ名が変更・削除された場合に気づけないため、checksに評価チェックを追加するか、後続PRで統合する際に確実にCIパスを通すことを推奨します。

その他の確認事項

  • openssl/openssl.devsqlite/sqlite.devの重複: cliToolsdevLibrariesの両方に含まれています。カテゴリの意味分けとして意図的であれば問題ありませんが、allでconcatした場合に重複する点は認識しておくとよいでしょう。
  • セキュリティ: sshpassの包含はランナー互換の観点から妥当と判断しました。allowUnfreeの制御も適切です。
  • パフォーマンス: 大量のパッケージですが、Nixの遅延評価とcontent-addressedストアにより、実用上の問題はありません。

インラインコメントで軽微な修正提案を2件投稿しています。

Copilot AI review requested due to automatic review settings February 18, 2026 05:29
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.

@claude
Copy link
Contributor

claude bot commented Feb 18, 2026

テストカバレッジについての補足

既に前回のレビューで指摘されている「このファイルがflake.nixから未参照」という点の補足です。

現状、treefmtによる構文チェック(nixfmt, deadnix, statix)はカバーされていますが、パッケージ属性パスの存在確認は一切検証されません。特にネストされた属性パス(llvmPackages.clang, bind.dnsutils, nss.tools, phpPackages.composer等)はnixpkgsリビジョン変更で壊れやすい箇所です。

後続PRで統合する際に、checksに評価チェックを追加することを推奨します。例:

github-actions-runner-packages-eval =
  let
    ghaPkgs = import ../lib/github-actions-runner-packages.nix { inherit pkgs; };
  in
  builtins.seq (builtins.length ghaPkgs.all) (
    pkgs.writeText "github-actions-runner-packages-eval" "ok"
  );

これにより全パッケージ名の解決がCIで自動検証されます。

ncaq added 3 commits February 18, 2026 14:40
- コメントの「allowUnfree = trueが必要なパッケージあり。デフォルトでは無効にします。」
  を「unfreeなパッケージは現在無効にしています。」に修正
- 意図がより明確になるよう表現を統一
- docker, docker-buildx, docker-composeをdocker-clientに統合
- docker daemonはパッケージ単位での導入を避ける方針に変更
@claude
Copy link
Contributor

claude bot commented Feb 18, 2026

レビュー所感

全体的によく構成されたパッケージリストです。カテゴリ分け、コメントによる除外理由の明記、allと個別カテゴリの両方を公開するAPI設計はいずれも適切です。

既存レビューの未解決事項の再確認

以下の2点は前回のレビューで指摘済みですが、未解決のため改めて確認します。

  1. 評価チェックの不在: このファイルは現時点でflake.nixから参照されておらず、nix-fast-build --no-nomでも検証されません。nixpkgsの更新でパッケージ名変更やbroken化が起きた場合に検出できないため、後続PRでの統合時にflake checksへの追加を検討してください。
  2. openssl/sqliteの重複: cliToolsopenssl/sqlitedevLibrariesopenssl.dev/sqlite.devが含まれています。カテゴリの意味分けとして意図的であれば問題ありませんが、allでconcatした場合にclosure sizeが無駄に増える可能性があるため確認をお願いします。

新規指摘

重大な問題は見つかりませんでした。軽微な点を1つだけ報告します。

  • kubernetes-helmpackageManagementに配置されていますが、devopsTools内に「Kubernetes Tools」サブカテゴリ(kind, kubectl, kustomize, minikube)が既にあります。参照元のカテゴリ分類に従っているのであれば現状維持で問題ありません。

セキュリティ、パフォーマンス、テストカバレッジの観点では特筆すべき問題はありませんでした。

@ncaq ncaq merged commit 0a71840 into master Feb 18, 2026
7 checks passed
@ncaq ncaq deleted the github-actions-runner-compatible-packages branch February 18, 2026 06:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Type: CI Changes to CI configuration files and scripts Type: Dependencies Dependency issues or Changes to dependency files Type: Feature New Feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants