ci: unit tests pin Python 3.12 while the package advertises 3.14 support
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 74/100
調査の方向性
.github/workflows/tests.yml と livekit-agents/pyproject.toml を読み、テスト対象の Python バージョンと requires-python を比較してください。プロジェクトの依存関係とユニットテストが Python 3.14 をサポートしているか確認し、その後、メンテナーの判断に従ってユニットテストのカバレッジを更新するか、記載されている範囲を狭めてください。サポート対象の Python バージョン範囲と実行時のテストカバレッジが一致し、例外があれば説明されている状態になれば完了です。
索引モデルが issue の本文から書いたものです。
説明
What
livekit-agents/pyproject.toml advertises requires-python = ">=3.10,<3.15", so 3.14 is a supported interpreter, but no runtime job ever runs on it:
.github/workflows/tests.ymlpinspython-version: "3.12"in all three jobs —blockguard-tests(L32),unit-tests(L56),evaluation(L83);.github/workflows/ci.ymlvaries the interpreter only for mypy (["3.10", "3.13"]).
So the runtime test suite only ever sees 3.12. A break that is specific to 3.13/3.14 is green by construction.
Evidence that this is not theoretical
#8162 fixed exactly that class: ndarray.resize() rejects an array that is still referenced, and on 3.14 it also rejects one only held by an attribute, so VAD.update_options raised ValueError for users on that interpreter while unit-tests stayed green. The change now copies into a new array instead.
The CI gap is what let it ship — the fix is fine, the matrix is the problem. The same shape will recur for anything that depends on interpreter behaviour rather than our own logic.
Proposal
Cheapest option first, in order of preference:
- One 3.14 leg on
unit-testsonly (matrix entry or a second job), not the whole matrix — the job count stays flat and the interpreter-sensitive code paths are covered. - If some dependency does not support 3.14 yet, narrow the promise instead:
requires-python = ">=3.10,<3.14"plus a note, so the advertised range matches what CI actually proves.
Either way the rule worth stating is that the advertised requires-python range and the tested interpreters should not disagree without a comment saying why.
Happy to send the workflow change (option 1) if that is the direction — I did not want to add a CI job in someone else's bug-fix PR.
- 主要言語
- Python
- スター
- 14.6k
- フォーク
- 3.9k
- 平均マージ
- 2日 7時間
- マージ済み PR(30日)
- 228
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
livekit/agents のほかの issue
-
Assistant markup is stripped from chat history when expressive mode is off対応中かも @ShivamSharma43 が 21 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
livekit/agents#7647 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
docs: openai.LLM vs openai.responses.LLM for HTTP OpenAI-compat hosts再び着手できるかも @AbarnaaSree が 60 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
livekit/agents#7022 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Support CPython 3.15 in livekit-local-inference対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 5/5 1週間以上 初心者へのやさしさ 32/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 1〜2日 初心者へのやさしさ 55/100
メンテナーはふだん 1 日以内に返信
-
OpenAI realtime: a long chat context sync or reconnect replay is sent in one event loop turn対応中かも @zek が今日担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
app: scripts status: backlog type: documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
netbox-community/netbox-scripts#68 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
marin-community/marin#10765 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 70/100
flathub/com.unity.UnityHub#230 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
namespace operations
難易度 1/5 1時間未満 初心者へのやさしさ 63/100
EclipseFdn/open-vsx.org#14910 ·
メンテナーはふだん 1 日以内に返信