channable / channable/opsqueue
CI keeps failing due to timeout
- Ngôn ngữ chính
- Rust
- Star
- 96
- Fork
- 2
- Merge trung bình
- 1 giờ 2 phút
- Pull request đã merge (30 ngày)
- 2
Mô tả
When i open a PR, i often have to run the job a couple of times before it completes in time.
We've had issues before with our integration tests being flaky and becoming deadlocked indefinitely. #6 introduced the 20 second timeout for integration tests, so they fail more quickly once they become deadlocked.
It's also difficult to see what exactly causes the failure. A first step towards resolving this issue could be to see what we can do to improve the output that we get when a test times out on CI, because at time of writing this is just a massive stack trace with mostly callsites originating from pytest plugins and the like.
Either the time-out is just too short for CI, or we're still getting deadlocks. So far, i've not been able to really reproduce any deadlocks by running the tests locally. We could try to relax that timeout a bit more, but not by too much. As the comment above the timeout configuration states, we're already being quite generous with our time limit.
**Examples**
The last four PRs have all seen at least one failure of the integration tests due to it exceeding the time limit:
- #19
- [failed push](https://channable.semaphoreci.com/workflows/56fef772-2c93-4009-a632-fa1b51fe5aa4)
- #18
- [failed push](https://channable.semaphoreci.com/jobs/ef466f0d-4f1c-4e1c-9e8f-883d47d118c5)
- [failed re-run](https://channable.semaphoreci.com/jobs/c496f290-f42b-46ea-9605-13204f6fcae5)
- #17
- [failed push](https://channable.semaphoreci.com/jobs/ed000520-408d-4222-a674-02833521bdf9)
- #16
- [failed merge by Hoff](https://github.com/channable/opsqueue/pull/16#issuecomment-3376018058)
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu với cấu hình timeout của integration test được tham chiếu trong issue và kiểm tra các CI job được liên kết cho các PR #16–#19. So sánh output của timeout với các lần chạy cục bộ để xác định liệu các lỗi có chỉ ra deadlock hay giới hạn CI không đủ hay không. Hoàn thành khi đã xác định được nguyên nhân và các lỗi timeout tạo ra output có thể hành động hoặc đã thực hiện điều chỉnh timeout có căn cứ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- rust
- Lĩnh vực
- ci-cd, testing
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100