-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
some way for developer to force rebuild. #419
Comments
Now that badges turn red, build failures are much more noticeable. It would be great if there was a way to trigger a new build manually. Though, it would probably be even better if sporadic failures like
could be detected and rescheduled automatically. Apart from green badges, it would prevent OSS-Fuzz from opening issues in the unlikely event of two infrastructure issues in two days. |
@Dor1s @oliverchang - thoughts here. i think a retry logic for some obvious failures makes sense, or even retry 2/3 times on same day or something. |
Retrying for infra failures sounds doable. Regarding builds on demand, I'm not sure. Don't want people to abuse it for testing changes. Maybe we should leverage CIFuzz for that purpose, e.g. if the latest OSS-Fuzz build is broken, but CIFuzz has just succeeded, we can trigger re-run for that project. But:
Another idea is to enable per project hooks based on the project repos (to build on every commit pushed to master), but with some limitation e.g. not to build more often than once per 6 hours. That would be beneficial in both cases:
Blocking this on #3538 |
As long as it can't be automated easily, I'm pretty sure it's going to be hard to abuse a button that should be pressed manually to trigger a build (assuming only the people listed in
I think it would make sense to keep building projects unconditionally every once in a while to allow for dependencies that can keep moving forward (or backwards :-)) regardless of how often projects using them get updated. |
Any substantial improvement would require a rework of our build scheduling, as Max filed in #3538. In any case, I'm not sure the complexity of retrying in a smart way is worth it. In the meantime we can just dumbly retry on every failure at most once. This should be easily doable by modifying the Jenkins build config. |
I did some googling and didn't find any native way to do it. The two ways I found both require plugins:
GCB seems to have a So I think we can patch oss-fuzz/infra/gcb/wait_for_build.py Line 43 in 302cf15
|
Yep, sorry I should've clarified to save you some time -- this was exactly what I meant :) |
Ah, no worries! The retry logic is deployed (in the middle of the OSS-Fuzz builder job running). The other features discussed here will be tracked in #3538 (I've added point 4. to it). |
@Dor1s I'm wondering if coverage builds are covered as well. According to https://oss-fuzz-build-logs.storage.googleapis.com/log-b218ba4c-3aee-4d9b-959c-acc34acee954.txt, the last coverage build failed with
and it's hard to tell whether it was restarted or not. |
Yes, coverage builds are affected as well. Two consecutive builds have different IDs, so users like yourself won't see both, but admins can see it:
Fwiw, there's plenty of failed coverage jobs, maybe GitHub was offline long enough to fail that many times :) |
On the one hand, I'm kind of glad we got to the point where the OSS-Fuzz badge basically shows the status of GitHub :-) On the other hand, I think maybe it would be better if the badge was less sensitive to issues like that. Would it be possible for it to turn red or yellow depending on whether an issue was opened on Monorail? |
No description provided.
The text was updated successfully, but these errors were encountered: