-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Raise DependencyFileUnsupported error when API returns matching 400 error #11438
Conversation
a970126
to
1b1db67
Compare
1b1db67
to
842792f
Compare
9bbba7a
to
2d09583
Compare
@@ -18,10 +20,11 @@ | |||
module Dependabot | |||
class ApiError < StandardError; end | |||
|
|||
class ApiClient | |||
class ApiClient # rubocop:disable Metrics/ClassLength |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit, we could satisfy the cop if we extracted some logic out into it's own method
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's the class length so we would have to extract a mixin but then extracting a mixin just for this would probably not be worth it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should really make an effort to adhere by the suggestions from rubocop rather than disable them. Especially for a core class that is shared across ecosystems.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving based on discussion
extend T::Sig | ||
|
||
MAX_REQUEST_RETRIES = 3 | ||
INVALID_REQUEST_MSG = /The request contains invalid or unauthorized changes/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you know why we do this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To quote the API code, it's because we are trying to update GitHub Actions workflow files when our package manager is not github_actions or the dependency file is not one of the files specified in the allowed list
.
It was added as a fix to prevent any potential security issues raised in issue
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. Adding @honeyankit as a reviewer.
687b097
to
af341c1
Compare
…rror (#11438) * Raise DependencyFileUnsupported error when API returns matching error * Fix flaky tests that fail every time the versions on the container are updated * Rubocop line length fix
What are you trying to accomplish?
Handle the error below:
so that it no longer appears in Sentry.
Anything you want to highlight for special attention from reviewers?
The above response is returned from dependabot-api
UpdateJobs::CreatePullRequest.handle_invalid_dependency_files
when the dependency files are invalid. There's not much we can do to prevent this API error but we need to handle it correctly so that it doesn't appear in Sentry as anUnknown Error
.How will you know you've accomplished your goal?
The above error won't appear in Sentry anymore.
Checklist