From d85d2aad441771d691f7133ebbdd3976fe04a09c Mon Sep 17 00:00:00 2001 From: Junya Morioka Date: Sun, 25 Jan 2026 16:44:21 +0900 Subject: [PATCH] chore: add plan document for pandas 3.0 fix - Document the root cause of Update Docs CI failure - Explain pandas 3.0.0 StringDtype breaking change - Provide fix approach and verification steps --- .../plans/2026-01-25-fix-update-docs-ci.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 .claude/plans/2026-01-25-fix-update-docs-ci.md diff --git a/.claude/plans/2026-01-25-fix-update-docs-ci.md b/.claude/plans/2026-01-25-fix-update-docs-ci.md new file mode 100644 index 0000000..703020f --- /dev/null +++ b/.claude/plans/2026-01-25-fix-update-docs-ci.md @@ -0,0 +1,80 @@ +# Fix Update Docs CI Failure + +## 問題の概要 + +GitHub Actions の `Update Docs` ジョブが失敗している。 + +### エラーの原因 + +`create_packages.py` の 310行目でエラーが発生: + +``` +ValueError: setting an array element with a sequence. +``` + +### 根本原因 + +**pandas 3.0.0 の破壊的変更**: pandas 3.0.0 では、デフォルトの文字列型が `StringDtype` に変更された。これにより、文字列カラムにリスト(シーケンス)を直接代入できなくなった。 + +問題のコード (`create_packages.py:310`): +```python +result["package"] = unique_packages if unique_packages else [None] +``` + +`result` は pandas Series であり、`"package"` カラムに `unique_packages`(リスト)を代入しようとしているが、pandas 3.0.0 では文字列型カラムにリストを代入できない。 + +--- + +## 修正方法 + +`combine_packages` 関数を修正して、pandas Series の代わりに辞書を返すようにする。 + +### 修正箇所 + +**ファイル**: `create_packages.py` + +**変更内容**: `combine_packages` 関数の戻り値を Series から辞書に変更 + +```python +# Before (line 306-312) +# Take the first row as base +result = group.iloc[0].copy() + +# Combine packages into a list +result["package"] = unique_packages if unique_packages else [None] + +return result + +# After +# Return as a dictionary to avoid pandas StringDtype issues +return { + "Flash-Attention": group.iloc[0]["Flash-Attention"], + "Python": group.iloc[0]["Python"], + "PyTorch": group.iloc[0]["PyTorch"], + "CUDA": group.iloc[0]["CUDA"], + "OS": group.iloc[0]["OS"], + "package": unique_packages if unique_packages else [None], +} +``` + +--- + +## 検証方法 + +1. ローカルで `create_packages.py` を実行して動作確認 + ```bash + # テスト用のassets.jsonを取得 + gh release view v0.7.12 --json assets > /tmp/assets.json + + # スクリプトを実行 + python create_packages.py --assets /tmp/assets.json --output /tmp/packages.md + ``` + +2. エラーなく完了し、`/tmp/packages.md` が正しく生成されることを確認 + +--- + +## 影響範囲 + +- `create_packages.py` の `combine_packages` 関数のみ変更 +- 出力結果(Markdown ファイル)への影響なし