You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The joke PR #103178 included some very slow code that runs at import time, and CI took >3 hours before I canceled it. This wastes resources and is a possible abuse vector; a malicious actor could use it to eat up our CI resource quota. We should have some reasonable timeout (1 hour?) for all CI builds.
No apology necessary, it's better that we find out about this problem through a well-intentioned joke.
I was actually surprised when I saw the PR that it showed you as a first-time contributor here. Based on the level of your contributions on the Python Discord, I'm sure there's lots of useful work you could do on CPython if you are so inclined. Perhaps your next PR will be less quadratic. (And if you're not interested or don't have time, that's perfectly fine too, of course.)
I had some time to look at this. I think that we need to base timeouts:
For short actions, like stale and labels
For build / test actions
Short timeout
stale takes ~1m average to finish:
new-bugs-notifier takes several seconds:
check-labels also takes several seconds:
verify-ensurepip-wheels takes several seconds:
project-updater takes several seconds as well:
I think that 10 minutes as a timeout is a reasonable number for this group.
It will allow quite some performance degradation, but still keep our resources under controll.
Slow actions
docs can work from 10m up to 20m:
testsmsi can take from several minutes up to 20m:
build takes around 30m:
So, using 1h is a resonable timeout.
I will send a PR with these timeouts in a moment.
Plus, I will change per-step timeouts from #90361 to be job-level (and increase them).
Activity
kylehofmann commentedon Apr 2, 2023
I would like to publicly apologize for the PR. It didn't turn out the way I had intended.
JelleZijlstra commentedon Apr 2, 2023
No apology necessary, it's better that we find out about this problem through a well-intentioned joke.
I was actually surprised when I saw the PR that it showed you as a first-time contributor here. Based on the level of your contributions on the Python Discord, I'm sure there's lots of useful work you could do on CPython if you are so inclined. Perhaps your next PR will be less quadratic. (And if you're not interested or don't have time, that's perfectly fine too, of course.)
arhadthedev commentedon Apr 2, 2023
Related issue (for the build step only): gh-90361.
sobolevn commentedon Apr 11, 2023
I had some time to look at this. I think that we need to base timeouts:
staleandlabelsShort timeout
staletakes ~1m average to finish:new-bugs-notifiertakes several seconds:check-labelsalso takes several seconds:verify-ensurepip-wheelstakes several seconds:project-updatertakes several seconds as well:I think that 10 minutes as a timeout is a reasonable number for this group.
It will allow quite some performance degradation, but still keep our resources under controll.
Slow actions
docscan work from 10m up to 20m:testsmsican take from several minutes up to 20m:buildtakes around 30m:So, using 1h is a resonable timeout.
I will send a PR with these timeouts in a moment.
Plus, I will change per-step timeouts from #90361 to be job-level (and increase them).
pythongh-103180: Add CI timeouts to all GtiHub Actions jobs
gh-103180: Add CI timeouts to all GitHub Actions jobs (#103437)
Merge branch 'main' into superopt
[3.11] pythongh-103180: Add CI timeouts to all GitHub Actions jobs (p…
Merge branch 'superopt' into superopt_spec
[3.11] gh-103180: Add CI timeouts to all GitHub Actions jobs (GH-103437…
hauntsaninja commentedon Apr 26, 2023
Looks like this was completed, thanks all!
GH-103180: Set a timeout for every job in GitHub Actions (#130375)
[3.13] pythonGH-103180: Set a timeout for every job in GitHub Actions (…
[3.12] pythonGH-103180: Set a timeout for every job in GitHub Actions (…
[3.12] GH-103180: Set a timeout for every job in GitHub Actions (GH-1…
[3.13] GH-103180: Set a timeout for every job in GitHub Actions (GH-1…