Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

ci: unit tests pin Python 3.12 while the package advertises 3.14 support

Đang mở Phù hợp với người mới
#8,231 3 bình luận 0 reaction 0 người được giao Xem trên GitHub

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
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
github-actions, python
Lĩnh vực
ci-cd

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.yml pins python-version: "3.12" in all three jobs — blockguard-tests (L32), unit-tests (L56), evaluation (L83);
  • .github/workflows/ci.yml varies 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:

  1. One 3.14 leg on unit-tests only (matrix entry or a second job), not the whole matrix — the job count stays flat and the interpreter-sensitive code paths are covered.
  2. 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

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của livekit/agents

Tất cả issue của livekit/agents

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.