-
Notifications
You must be signed in to change notification settings - Fork 4
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
Problem with Github Token logic - Error 403 (not logged) vs Error 500 (logged) #149
Comments
@yarikoptic What exactly should we do about errors like this? Currently, I believe the only errors that are handled by skipping downloads are when a request for GitHub logs returns 404 (when a workflow failed to run) or 410 (when the logs have expired). |
I might be missing the point, but I would say that it would not be expected behavior for me. For me crashing with some error "Requires special rights, use another token or set variable ... to ... . Original error was : ...." would be more "expected" and avoid surprise ("where the heck my logs?") later. skip_errors:
- code: 403
message: "Must have admin rights .*" WDYT? |
@yarikoptic I think specifying individual errors to skip on is overkill. Anyone who wants something like that would probably be satisfied with a single option for skipping any & all logs that fail to download because of some HTTP status error. |
hm, but not all errors are alike -- we have spent a good number of iterations to solidify operation while figuring out where to retry but still keep running into some new ones from time to time. Just enabling "skip then all" could hide grave problems... For such folks suggested syntax could be skip_errors:
- message: .* but I would never use such setting. What about you @swdbo -- really just want to skip anything you fail to download right at this point in time ? |
Many interesting ideas here. |
@swdbo we should definitely log those. Getting back to original problem -- does it fetch some other logs (or could some actions logs be available only to admins and others "publicly")? or if nothing is fetched, why not to just disable it for github actions? @jwodder I still think that making filtering of errors to ignore would be beneficial. Would that idea above easy to implement given current code structure? |
|
@yarikoptic I don't think making the user specify individual errors to filter would be user friendly. Here's a better question to consider: Are there any circumstances in which we actually want failures to fetch logs to stop the program? |
I think it should be the default behavior for any program to stop on an error which we have not decided consciously how to handle yet. That is why I do
So it is a decision for the user, not us, to make and possibly configure con/tinuous to reflect this decision to skip. If we just silently ignore it -- user is not given a chance for an alternative handling and possibly would not even know for years to come that he/she is not collecting all logs. |
@swdbo Could you elaborate on exactly what's happening with the errors you're seeing? Your first |
Yes of course, I'll rephrase. The point I was trying to make with the initial post is that tinuous retries to fetch logs that are protected (403 error), and then exit. I think it shouldn't block the all process but only skip the logs that cannot be fetched (with a logs_error file). I ran into another example of this error handling behaviour on Travis this time : a 404 error also makes tinuous fail. Command : File tinuous.yaml content :
|
I think our troubleshooting/problem in #150 with triggering |
Hello !
Thanks a lot for your work.
I've found that for some URLS,
tinuous fetch
fails to handle the "Must have admin rights" case, with multiple retries and an exit error.Expected behaviour : skip this URL and continue to fetch remaining logs.
To reproduce :
403 with "message": "Must have admin rights to Repository."
500 with "message": "Failed to generate URL to download logs"
Have a nice day.
The text was updated successfully, but these errors were encountered: