3 ms·
So, we're circumventing tools that kill possible stuck jobs now? That doesn't seem like it'll play out well with Travis CI...
by Operyl 10y ago
So, we're circumventing tools that kill possible stuck jobs now? That doesn't seem like it'll play out well with Travis CI...
- mintplant 10y agoTravis CI themselves offer a workaround for their own timeout in the form of travis_wait. This seems to be a slightly different alternative workaround that better meets the authors' needs.
- Operyl 10y agoI imagine that there's some other code in travis_wait to help deal with possibly stuck builds, though, shrug. And well, it's not flipping off a company that does a lot for free to OSS.
- Sir_Substance 10y ago>This seems to be a slightly different alternative workaround that better meets the authors' needs You can take an educated guess though that the fact that travis_wait doesn't keep streaming the output is probably deliberate. I've been on the other end of the stick often enough. You put in place mechanisms that are designed to protect your system from over-burdensome use and gently prod people towards better ways of using it. Most people take a hint and solve the underlying problem, but some people instead choose to dodgily bypass the protective measures in front of your free system. Inevitably, you have to send them a mail saying "I can see you on the graphs, stop what you're doing". They try to take it as an opportunity to "open a dialogue" about the problem, and then get in a huff when you respond with "I don't care right now, I've already asked you nicely once, you have one hour to stop using 10% of all our memory, and then you're getting perma-banned". Anyone with half a brain can take a guess that the travis_wait behavior is probably a defense against really verbose and long builds gumming up their system with millions of lines of stdout that no one cares about. Having the need to bypass it suggests you're operating in a fashion where you really ought to be running your own build system (or breaking up your build process into a clean, sectioned pipeline with parallel test execution), rather than using shared resources.
- xgbi 10y agoInternally, we tend to call this kind of code, circumventing a procedure, the Volkswagen Code.
- koolba 10y agoI thought that was where you add the following block to top of all the emissions^W unit tests: if (!regulators.areWatching()) { return; }