ci: unit tests pin Python 3.12 while the package advertises 3.14 support
Maintainer thường phản hồi trong vòng 1 ngày
@huong8373tt-beep đang làm issue này rồi.
Từ ngày 29/10/2026.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 74/100
Hướng nghiên cứu
Đọc .github/workflows/tests.yml và livekit-agents/pyproject.toml để so sánh các phiên bản Python được kiểm thử với requires-python. Kiểm tra xem các phần phụ thuộc của dự án và các bài kiểm thử đơn vị có hỗ trợ Python 3.14 hay không, sau đó cập nhật phạm vi bao phủ của bài kiểm thử đơn vị hoặc thu hẹp phạm vi phiên bản được công bố theo quyết định của maintainers. Công việc hoàn tất khi phạm vi phiên bản Python được hỗ trợ khớp với phạm vi kiểm thử lúc chạy, và mọi ngoại lệ đều được giải thích.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 14.6k
- Fork
- 3.9k
- Merge trung bình
- 2 ngày 5 giờ
- Pull request đã merge (30 ngày)
- 232
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của livekit/agents
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
mistralai: expose reasoning_effort on the LLMCó thể đã có người làm @muzman123 đã nhận 1 ngày trước. Đang mởenhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Assistant markup is stripped from chat history when expressive mode is offCó thể đã có người làm @ShivamSharma43 đã nhận 23 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
livekit/agents#7647 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
docs: openai.LLM vs openai.responses.LLM for HTTP OpenAI-compat hostsCó thể làm lại được @AbarnaaSree đã nhận 62 ngày trước và không có pull request nào đang mở. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
livekit/agents#7022 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
DataStreamAudioReceiver retains registrations after close and shares clear-buffer routing across roomsCó thể đã có người làm @Zheng-Changfu đã nhận hôm nay. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 20/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của livekit/agents
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
NousResearch/hermes-agent#147104 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[oblt-aw][autodoc] Document new required `shared-org-key` input for `obs-aw-dependency-review`Có thể đã có người làm @github-actions đã nhận hôm nay. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bot-triaged module: inductor oncall: pt2 topic: fuzzer triaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
getchaintips leaves out the active tip once a header is staged on it, where Core always lists itĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
btclib-org/btclib-node#2158 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
patrick-hudson/put.gd-desktop#979 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày