channable / channable/opsqueue

CI keeps failing due to timeout

Fermée
#20 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug
Langage dominant
Rust
Étoiles
96
Forks
2
Merge moyen
1 h 2 min
PR mergées (30 j)
2

Description

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)

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par la configuration du timeout des tests d’intégration mentionnée dans l’issue et examinez les jobs CI associés aux PRs #16–#19. Comparez la sortie du timeout avec les exécutions locales afin de déterminer si les échecs indiquent des deadlocks ou une limite CI insuffisante. Le travail est terminé lorsque la cause est identifiée et que les échecs de timeout produisent une sortie exploitable ou qu’un ajustement justifié du timeout a été effectué.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
rust
Domaine
ci-cd, testing
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.