fix(github): prevent null pointer dereferencing when using AllowMergeableBypassApply with no required checks on branch protection #3672
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
what
Handle the case where Atlantis is using the feature flag
AllowMergeableBypassApply
, but a repository does not have a required check under its branch protection rules (it might have, for example, a requirement for at least one approval).Currently, the code assumes that if a response was returned from https://docs.github.com/en/rest/branches/branch-protection?apiVersion=2022-11-28#get-branch-protection, then a required check will always be defined, which is not the case, leading to the panic seen in the linked issues:
why
See issues #2663, #3563
tests
I have implemented a new test case that covers the case where:
Happy to add more cases if deemed necessary.
references
closes #2663
closes #3563