Skip to content
This repository has been archived by the owner on Apr 4, 2024. It is now read-only.

Implement tighther timeouts for required statuses without an "In progress" update. #1506

Open
kevincox opened this issue May 24, 2022 · 0 comments

Comments

@kevincox
Copy link

kevincox commented May 24, 2022

Right now you can configure required status checks and bors will wait for them to complete. However there is a large footgun where changing the name of a check in either the bors config or the check itself or trying to remove an old check but forgetting to remove it from bors.toml will result in a timeout. This can be especially painful if jobs are slow and the timeout is high as it is essentially blocking CI for an extended period of time while bors bisects a timeout commit.

It would be great if there could be a tighter timeout for jobs that don't acquire an in-prorgess status. For example imagine a config like this:

timeout_sec = 21600 # 6h
in_progress_timeout_sec = 900 # 15min

The behaviour would be that if a job doesn't acquire at least an in-progress status in 15min it will be considered failed immediately, otherwise it has 6h to run.This way these errors can be detected in only 15min, rather than waiting for 6h.

Ideally this would be configurable per-job, but how to do that with the current bors.toml format is unclear. It would also be nice to have this as a watchdog instead of a simple timeout but I'm not aware of many status checks that regularly update the badge so a simple timeout is likely the best we can do.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant