vcpkg should have a means of providing reasonable time limits to build ports #17810
Replies: 5 comments
-
I think it should be done on CI and not in the package manager. What if there will be port which will require one hour. Anyway, why one hour? If somebody has overloaded CI, he'll get MUCH higher probability of false positives. As a compromise for 'advanced users' command line option --build-timeout could be introduced, but still, I think it's anti-feature. |
Beta Was this translation helpful? Give feedback.
-
Probably a problem with jom......switching to nmake helps here. #8524 |
Beta Was this translation helpful? Give feedback.
-
@invy: We can't handle it in CI because in the worst case CI needs to build every port which takes some 14 hours. We don't want to burn 14 hours of VM time because a port that normally takes 10 seconds to build got stuck. We would only need to do this for ports that are problematic / have a history of getting hung and could easily set them much higher than the time they normally take. |
Beta Was this translation helpful? Give feedback.
-
@BillyONeal I think 'reasonable' compromise would be to provide 'overlay' manifest file which would contain ports with corresponding timeouts, which you then pass as an argument. Making it the default behavior is just workaround which won't work for everybody and may cause headache for some developers.
build_timeouts.txt
|
Beta Was this translation helpful? Give feedback.
-
@invy A port build hanging forever is just as amounts |
Beta Was this translation helpful? Give feedback.
-
I am told by @dan-shaw that sometimes tensorflow hangs during its build for some reason, and have seen qt similarly hang. We should be able to set a reasonable cap to prevent these ports from running out of control (either in the 'ci' command or generally). Say 'no port should take longer than 1 hour to build' or similar, and skip any constantly offending ports.
Proposed solution
An extra command that lists a timeout for all ports on the command line, or some way to declare timeouts in the CONTROL/manifest file.
Beta Was this translation helpful? Give feedback.
All reactions